sidekiq-scheduler 2.1.3 → 2.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: fea965b75dc070e03cedb07b7f52370179d48a92
4
- data.tar.gz: a34c581f6784e54be8fd7ec6839ce3daf5244deb
3
+ metadata.gz: 319bbbd230c5e980c19cc64fc01b75e2a7ecfffd
4
+ data.tar.gz: 0225011ead92c866aae7096e54527d9f1ebc67ed
5
5
  SHA512:
6
- metadata.gz: 38c0503e48f845aefb66cb16d7eef8acc1d6e93865b40428deac1d191e13c2e4d5b7e9635a7a0e21f666d7afbbcacc015e453aa0b89b3c06e5e11ecf8e1b27ff
7
- data.tar.gz: fe40a0493a16ac5b3f2de556ae50f05fa58a091239d4813f455bbee5f6dae90f0de093d43bcea955f21fdce861af9ab671167e3b368137e26dcf22cd86b4cab0
6
+ metadata.gz: 945f09111baa0157ccb51bac0d7c09acb0702edfb3b94104e55320d59e1fa5603157670e5de28b29a9d5934a7815b6c93015e99329534651252235572b17a85e
7
+ data.tar.gz: 214380d3128ab3e322450eb4aa7957aa925440afcf346abaf623071ac884e0ef50cb2ba5ddfa0a002b1534a782bd4572daaded19c878c3573011b53abbdd4a36
data/README.md CHANGED
@@ -58,7 +58,7 @@ end
58
58
 
59
59
  :schedule:
60
60
  hello_world:
61
- every: 1m # Runs once per minute
61
+ cron: '0 * * * * *' # Runs once per minute
62
62
  class: HelloWorld
63
63
  ```
64
64
 
@@ -104,10 +104,10 @@ The schedule is configured through the `:schedule` config entry in the sidekiq c
104
104
  ``` yaml
105
105
  :schedule:
106
106
  CancelAbandonedOrders:
107
- every: 5m # runs every 5 minutes, job's class: CancelAbandonedOrders
107
+ cron: '0 */5 * * * *' # Runs when second = 0, every 5 minutes
108
108
 
109
109
  queue_documents_for_indexing:
110
- every: 1h # runs every 1 hour
110
+ cron: '0 0 * * * *' # Runs every hour
111
111
 
112
112
  # By default the job name will be taken as worker class name.
113
113
  # If you want to have a different job name and class name, provide the 'class' option
@@ -284,8 +284,8 @@ ActiveSupport::TimeZone.find_tzinfo(Rails.configuration.time_zone).name
284
284
 
285
285
  ## Notes about running on Multiple Hosts
286
286
 
287
- `cron` and `at` jobs are pushed once despite the number of `sidekiq-scheduler` running instances,
288
- assumming that time deltas between hosts is lesser than 24 hours.
287
+ `cron` and `at` jobs are pushed once regardless of the number of `sidekiq-scheduler` running instances,
288
+ assumming that time deltas between hosts is less than 24 hours.
289
289
 
290
290
  `every`, `interval` and `in` jobs will be pushed once per host.
291
291
 
@@ -1,4 +1,4 @@
1
- require 'hashie'
1
+ require 'sidekiq-scheduler/utils'
2
2
 
3
3
  module SidekiqScheduler
4
4
  class RufusUtils
@@ -20,7 +20,7 @@ module SidekiqScheduler
20
20
  opts = {}
21
21
  end
22
22
 
23
- opts = Hashie.symbolize_keys(opts)
23
+ opts = SidekiqScheduler::Utils.symbolize_keys(opts)
24
24
 
25
25
  return schedule, opts
26
26
  end
@@ -1,6 +1,7 @@
1
- require 'hashie'
2
1
  require 'json'
3
2
 
3
+ require 'sidekiq-scheduler/utils'
4
+
4
5
  module SidekiqScheduler
5
6
  module Schedule
6
7
 
@@ -117,7 +118,7 @@ module SidekiqScheduler
117
118
  private
118
119
 
119
120
  def prepare_schedule(schedule_hash)
120
- schedule_hash = Hashie.stringify_keys(schedule_hash)
121
+ schedule_hash = SidekiqScheduler::Utils.stringify_keys(schedule_hash)
121
122
 
122
123
  prepared_hash = {}
123
124
 
@@ -0,0 +1,44 @@
1
+ require 'set'
2
+
3
+ module SidekiqScheduler
4
+ module Utils
5
+
6
+ # Stringify keys belonging to a hash.
7
+ #
8
+ # Also stringifies nested keys and keys of hashes inside arrays, and sets
9
+ #
10
+ # @param [Object] object
11
+ #
12
+ # @return [Object]
13
+ def self.stringify_keys(object)
14
+ if object.is_a?(Hash)
15
+ Hash[[*object.map { |k, v| [k.to_s, stringify_keys(v) ]} ]]
16
+
17
+ elsif object.is_a?(Array) || object.is_a?(Set)
18
+ object.map { |v| stringify_keys(v) }
19
+
20
+ else
21
+ object
22
+ end
23
+ end
24
+
25
+ # Symbolize keys belonging to a hash.
26
+ #
27
+ # Also symbolizes nested keys and keys of hashes inside arrays, and sets
28
+ #
29
+ # @param [Object] object
30
+ #
31
+ # @return [Object]
32
+ def self.symbolize_keys(object)
33
+ if object.is_a?(Hash)
34
+ Hash[[*object.map { |k, v| [k.to_sym, symbolize_keys(v) ]} ]]
35
+
36
+ elsif object.is_a?(Array) || object.is_a?(Set)
37
+ object.map { |v| symbolize_keys(v) }
38
+
39
+ else
40
+ object
41
+ end
42
+ end
43
+ end
44
+ end
@@ -1,5 +1,5 @@
1
1
  module SidekiqScheduler
2
2
 
3
- VERSION = '2.1.3'
3
+ VERSION = '2.1.4'
4
4
 
5
5
  end
@@ -0,0 +1,13 @@
1
+ de:
2
+ recurring_jobs: Wiederkehrende Jobs
3
+ name: Name
4
+ description: Beschreibung
5
+ interval: Intervall
6
+ class: Klasse
7
+ queue: Warteschlange
8
+ arguments: Argumente
9
+ enqueue_now: Jetzt hinzufügen
10
+ next_time: Nächste Ausführung
11
+ no_next_time: Keine zukünftige Ausführung für diesen Job
12
+ disable: Deaktivieren
13
+ enable: Aktivieren
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sidekiq-scheduler
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.3
4
+ version: 2.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Morton Jonuschat
@@ -9,22 +9,8 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2017-04-07 00:00:00.000000000 Z
12
+ date: 2017-05-03 00:00:00.000000000 Z
13
13
  dependencies:
14
- - !ruby/object:Gem::Dependency
15
- name: hashie
16
- requirement: !ruby/object:Gem::Requirement
17
- requirements:
18
- - - "~>"
19
- - !ruby/object:Gem::Version
20
- version: '3.4'
21
- type: :runtime
22
- prerelease: false
23
- version_requirements: !ruby/object:Gem::Requirement
24
- requirements:
25
- - - "~>"
26
- - !ruby/object:Gem::Version
27
- version: '3.4'
28
14
  - !ruby/object:Gem::Dependency
29
15
  name: sidekiq
30
16
  requirement: !ruby/object:Gem::Requirement
@@ -251,10 +237,12 @@ files:
251
237
  - lib/sidekiq-scheduler/manager.rb
252
238
  - lib/sidekiq-scheduler/rufus_utils.rb
253
239
  - lib/sidekiq-scheduler/schedule.rb
240
+ - lib/sidekiq-scheduler/utils.rb
254
241
  - lib/sidekiq-scheduler/version.rb
255
242
  - lib/sidekiq-scheduler/web.rb
256
243
  - lib/sidekiq/scheduler.rb
257
244
  - web/locales/cs.yml
245
+ - web/locales/de.yml
258
246
  - web/locales/en.yml
259
247
  - web/locales/es.yml
260
248
  - web/locales/zh-cn.yml