delayed_job_mongoid 2.2.0 → 2.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4e1ed70a5ed5d07ef9104c2cb19cf41fc68a0694
4
- data.tar.gz: 3793796caa8f4eddfd982441c9a5ddfd71fb2b18
3
+ metadata.gz: 1fe065836eaec3db84fa083b20a3ab41fdff6729
4
+ data.tar.gz: 2498d16f780f951e322a4af828718eb287db44af
5
5
  SHA512:
6
- metadata.gz: c96d5a0fca52cf64119effbade77ea6c03df555074ed5d677dd58224ff842ed253dc95d819af51d3f7222ecc0cea221ac43e70776ebb4341a52ef13ebc7909e4
7
- data.tar.gz: 90ec0f2f1f953ddcc7e56632b7ed36843b921ad1853873daf198c3742a861aef1a642e73b9ca94808849f00e2e282393c6cdf1876fccd67718033dcad24cb3c6
6
+ metadata.gz: 4a5e39815bbf5cbd4380308e37f45591debbbb25fdf6c98ce9e2cdd2d150de17619218f1b886d88956cf71d5521529e44a37df06141e9345ff720dc27a03f383
7
+ data.tar.gz: 233d203872d4380c2cf79f79b26b0135c73d745b6e9bf146ba726196c9ab3ad119278b877c51e6c5b13091c6b69084f2243e1f21a07ed14991a5d6b450f334e2
@@ -1,27 +1,28 @@
1
- Next
2
- ====
3
- * Your contribution here.
4
-
5
- 2.2.0 - 2015-09-24
6
- ==================
7
- * Support Mongoid 5.0
8
-
9
- 2.1.0 - 2014-05-09
10
- ==================
11
- * [#38](https://github.com/collectiveidea/delayed_job_mongoid/pull/38): Fix clearing identity map before each job - [@srleo](https://github.com/srleo)
12
- * [#43](https://github.com/collectiveidea/delayed_job_mongoid/pull/43): Compatibility with Mongoid 4.x and Delayed Job 4.x - [@dblock](https://github.com/dblock)
13
-
14
- 2.0.0 - 2012-08-02
15
- ==================
16
- * Added code coverage with SimpleCov - [@sferik](https://github.com/sferik)
17
- * Added Mongoid 3.0 support - [@sferik](https://github.com/sferik), [@asavartsov](https://github.com/asavartsov)
18
-
19
- 1.0.2 - 2010-01-12
20
- ==================
1
+ ### 2.3.0 (2017/02/13)
2
+
3
+ * [#72](https://github.com/collectiveidea/delayed_job_mongoid/pull/72): Fix: Unknown alias: 1 (Psych::BadAlias) when referencing an object twice from the object being serialized - [@dblock](https://github.com/dblock), [@maxjacobson](https://github.com/maxjacobson).
4
+ * [#71](https://github.com/collectiveidea/delayed_job_mongoid/pull/71): Support Mongoid 6.0 - [@dblock](https://github.com/dblock).
5
+
6
+ ### 2.2.0 (2015/09/24)
7
+
8
+ * [#58](https://github.com/collectiveidea/delayed_job_mongoid/pull/58): Support Mongoid 5.0 - [@sferik](https://github.com/sferik).
9
+
10
+ ### 2.1.0 (2014/05/09)
11
+
12
+ * [#38](https://github.com/collectiveidea/delayed_job_mongoid/pull/38): Fix clearing identity map before each job - [@srleo](https://github.com/srleo).
13
+ * [#43](https://github.com/collectiveidea/delayed_job_mongoid/pull/43): Compatibility with Mongoid 4.x and Delayed Job 4.x - [@dblock](https://github.com/dblock).
14
+
15
+ ### 2.0.0 (2012/08/02)
16
+
17
+ * Added code coverage with SimpleCov - [@sferik](https://github.com/sferik).
18
+ * Added Mongoid 3.0 support - [@sferik](https://github.com/sferik), [@asavartsov](https://github.com/asavartsov).
19
+
20
+ ### 1.0.2 (2010/01/12)
21
+
21
22
  * Fix a potential memory leak inside mongo when reserving jobs on mongo 1.6+
22
23
  * Fixed gemspec to work with Mongoid 2.0 RC and Rubygems 1.4
23
24
 
24
- 1.0.1 - 2010-12-01
25
- ==================
26
- * Use MongoDB's findAndModify to reserve the next available job in one atomic operation
25
+ ### 1.0.1 (2010/12/01)
26
+
27
+ * Use MongoDB's findAndModify to reserve the next available job in one atomic operation - [@beljun](https://github.com/beljun).
27
28
  * Better index
data/LICENSE.md CHANGED
@@ -1,4 +1,4 @@
1
- Copyright © 2010 Collective Idea
1
+ Copyright © 2010-2015 Collective Idea & Contributors
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
data/README.md CHANGED
@@ -1,10 +1,10 @@
1
1
  # DelayedJob Mongoid backend
2
2
 
3
- [![Gem Version](http://img.shields.io/gem/v/delayed_job_mongoid.svg)][gem]
4
- [![Build Status](http://img.shields.io/travis/collectiveidea/delayed_job_mongoid.svg)][travis]
5
- [![Dependency Status](http://img.shields.io/gemnasium/collectiveidea/delayed_job_mongoid.svg)][gemnasium]
6
- [![Code Climate](http://img.shields.io/codeclimate/github/collectiveidea/delayed_job_mongoid.svg)][codeclimate]
7
- [![Coverage Status](http://img.shields.io/coveralls/collectiveidea/delayed_job_mongoid.svg)][coveralls]
3
+ [![Gem Version](https://badge.fury.io/rb/delayed_job_mongoid.svg)](http://badge.fury.io/rb/delayed_job_mongoid)
4
+ [![Build Status](https://travis-ci.org/collectiveidea/delayed_job_mongoid.svg?branch=master)](https://travis-ci.org/collectiveidea/delayed_job_mongoid)
5
+ [![Dependency Status](https://gemnasium.com/collectiveidea/delayed_job_mongoid.svg)](https://gemnasium.com/collectiveidea/delayed_job_mongoid)
6
+ [![Code Climate](https://codeclimate.com/github/collectiveidea/delayed_job_mongoid.svg)](https://codeclimate.com/github/collectiveidea/delayed_job_mongoid)
7
+ [![Coverage Status](https://coveralls.io/repos/collectiveidea/delayed_job_mongoid/badge.svg?branch=master&service=github)](https://coveralls.io/github/collectiveidea/delayed_job_mongoid?branch=master)
8
8
 
9
9
  [gem]: https://rubygems.org/gems/delayed_job_mongoid
10
10
  [travis]: http://travis-ci.org/collectiveidea/delayed_job_mongoid
@@ -2,15 +2,15 @@
2
2
 
3
3
  Gem::Specification.new do |spec|
4
4
  spec.add_dependency 'delayed_job', ['>= 3.0', '< 5']
5
- spec.add_dependency 'mongoid', ['>= 3.0', '< 6']
6
- spec.add_dependency 'mongoid-compatibility'
5
+ spec.add_dependency 'mongoid', ['>= 3.0', '< 7']
6
+ spec.add_dependency 'mongoid-compatibility', '>= 0.4.0'
7
7
  spec.authors = ['Chris Gaffney', 'Brandon Keepers', 'Erik Michaels-Ober']
8
8
  spec.email = ['chris@collectiveidea.com', 'brandon@opensoul.com', 'sferik@gmail.com']
9
- spec.files = %w[CHANGELOG.md CONTRIBUTING.md LICENSE.md README.md delayed_job_mongoid.gemspec] + Dir['lib/**/*.rb']
9
+ spec.files = %w(CHANGELOG.md CONTRIBUTING.md LICENSE.md README.md delayed_job_mongoid.gemspec) + Dir['lib/**/*.rb']
10
10
  spec.homepage = 'http://github.com/collectiveidea/delayed_job_mongoid'
11
11
  spec.licenses = ['MIT']
12
12
  spec.name = 'delayed_job_mongoid'
13
13
  spec.require_paths = ['lib']
14
14
  spec.summary = 'Mongoid backend for delayed_job'
15
- spec.version = '2.2.0'
15
+ spec.version = '2.3.0'
16
16
  end
@@ -11,17 +11,17 @@ module Delayed
11
11
  include ::Mongoid::Timestamps
12
12
  include Delayed::Backend::Base
13
13
 
14
- field :priority, :type => Integer, :default => 0
15
- field :attempts, :type => Integer, :default => 0
16
- field :handler, :type => String
17
- field :run_at, :type => Time
18
- field :locked_at, :type => Time
19
- field :locked_by, :type => String
20
- field :failed_at, :type => Time
21
- field :last_error, :type => String
22
- field :queue, :type => String
14
+ field :priority, type: Integer, default: 0
15
+ field :attempts, type: Integer, default: 0
16
+ field :handler, type: String
17
+ field :run_at, type: Time
18
+ field :locked_at, type: Time
19
+ field :locked_by, type: String
20
+ field :failed_at, type: Time
21
+ field :last_error, type: String
22
+ field :queue, type: String
23
23
 
24
- index :locked_by => -1, :priority => 1, :run_at => 1
24
+ index locked_by: -1, priority: 1, run_at: 1
25
25
 
26
26
  before_save :set_default_run_at
27
27
 
@@ -37,15 +37,15 @@ module Delayed
37
37
 
38
38
  criteria = reservation_criteria worker, right_now, max_run_time
39
39
 
40
- if ::Mongoid::Compatibility::Version.mongoid5?
40
+ if ::Mongoid::Compatibility::Version.mongoid5? || ::Mongoid::Compatibility::Version.mongoid6?
41
41
  criteria.find_one_and_update(
42
- {'$set' => {:locked_at => right_now, :locked_by => worker.name}},
43
- :return_document => :after
42
+ { '$set' => { locked_at: right_now, locked_by: worker.name } },
43
+ return_document: :after
44
44
  )
45
45
  else
46
46
  criteria.find_and_modify(
47
- {'$set' => {:locked_at => right_now, :locked_by => worker.name}},
48
- :new => true
47
+ { '$set' => { locked_at: right_now, locked_by: worker.name } },
48
+ new: true
49
49
  )
50
50
  end
51
51
  end
@@ -57,17 +57,17 @@ module Delayed
57
57
  # @api private
58
58
  def self.reservation_criteria(worker, right_now, max_run_time)
59
59
  criteria = where(
60
- :run_at => {'$lte' => right_now},
61
- :failed_at => nil
60
+ run_at: { '$lte' => right_now },
61
+ failed_at: nil
62
62
  ).any_of(
63
- {:locked_by => worker.name},
64
- {:locked_at => nil},
65
- :locked_at => {'$lt' => (right_now - max_run_time)}
63
+ { locked_by: worker.name },
64
+ { locked_at: nil },
65
+ locked_at: { '$lt' => (right_now - max_run_time) }
66
66
  )
67
67
 
68
- criteria = criteria.gte(:priority => Worker.min_priority.to_i) if Worker.min_priority
69
- criteria = criteria.lte(:priority => Worker.max_priority.to_i) if Worker.max_priority
70
- criteria = criteria.any_in(:queue => Worker.queues) if Worker.queues.any?
68
+ criteria = criteria.gte(priority: Worker.min_priority.to_i) if Worker.min_priority
69
+ criteria = criteria.lte(priority: Worker.max_priority.to_i) if Worker.max_priority
70
+ criteria = criteria.any_in(queue: Worker.queues) if Worker.queues.any?
71
71
  criteria = criteria.desc(:locked_by).asc(:priority).asc(:run_at)
72
72
 
73
73
  criteria
@@ -75,7 +75,7 @@ module Delayed
75
75
 
76
76
  # When a worker is exiting, make sure we don't have any locked jobs.
77
77
  def self.clear_locks!(worker_name)
78
- where(:locked_by => worker_name).update_all(:locked_at => nil, :locked_by => nil)
78
+ where(locked_by: worker_name).update_all(locked_at: nil, locked_by: nil)
79
79
  end
80
80
 
81
81
  def reload(*args)
@@ -0,0 +1,14 @@
1
+ module Delayed
2
+ module PsychExt
3
+ class ToRuby < Psych::Visitors::ToRuby
4
+ # see https://github.com/collectiveidea/delayed_job_mongoid/pull/65
5
+ alias _visit_Psych_Nodes_Mapping visit_Psych_Nodes_Mapping
6
+
7
+ def visit_Psych_Nodes_Mapping(object) # rubocop:disable MethodName
8
+ document = _visit_Psych_Nodes_Mapping(object)
9
+ register(object, document) if document
10
+ document
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,3 @@
1
+ require 'yaml'
2
+
3
+ require File.expand_path('../psych_ext', __FILE__) unless YAML.parser.class.name =~ /syck|yecht/i
@@ -3,5 +3,6 @@ require 'delayed/backend/mongoid'
3
3
  require 'delayed/serialization/mongoid'
4
4
  require 'delayed_job'
5
5
  require 'delayed/plugins'
6
+ require 'delayed/yaml/yaml_ext'
6
7
 
7
8
  Delayed::Worker.backend = :mongoid
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: delayed_job_mongoid
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.0
4
+ version: 2.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Gaffney
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2015-09-24 00:00:00.000000000 Z
13
+ date: 2017-02-13 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: delayed_job
@@ -41,7 +41,7 @@ dependencies:
41
41
  version: '3.0'
42
42
  - - "<"
43
43
  - !ruby/object:Gem::Version
44
- version: '6'
44
+ version: '7'
45
45
  type: :runtime
46
46
  prerelease: false
47
47
  version_requirements: !ruby/object:Gem::Requirement
@@ -51,21 +51,21 @@ dependencies:
51
51
  version: '3.0'
52
52
  - - "<"
53
53
  - !ruby/object:Gem::Version
54
- version: '6'
54
+ version: '7'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: mongoid-compatibility
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - ">="
60
60
  - !ruby/object:Gem::Version
61
- version: '0'
61
+ version: 0.4.0
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - ">="
67
67
  - !ruby/object:Gem::Version
68
- version: '0'
68
+ version: 0.4.0
69
69
  description:
70
70
  email:
71
71
  - chris@collectiveidea.com
@@ -83,6 +83,8 @@ files:
83
83
  - lib/delayed/backend/mongoid.rb
84
84
  - lib/delayed/plugins.rb
85
85
  - lib/delayed/serialization/mongoid.rb
86
+ - lib/delayed/yaml/psych_ext.rb
87
+ - lib/delayed/yaml/yaml_ext.rb
86
88
  - lib/delayed_job_mongoid.rb
87
89
  homepage: http://github.com/collectiveidea/delayed_job_mongoid
88
90
  licenses:
@@ -104,9 +106,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
104
106
  version: '0'
105
107
  requirements: []
106
108
  rubyforge_project:
107
- rubygems_version: 2.4.8
109
+ rubygems_version: 2.5.1
108
110
  signing_key:
109
111
  specification_version: 4
110
112
  summary: Mongoid backend for delayed_job
111
113
  test_files: []
112
- has_rdoc: