sidekiq-scheduler 2.1.3 → 2.1.4

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: 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