sidekiq-cron 1.10.0 → 2.4.0

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.
Files changed (43) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +88 -3
  3. data/Gemfile +3 -0
  4. data/README.md +300 -38
  5. data/lib/sidekiq/cron/job.rb +277 -182
  6. data/lib/sidekiq/cron/launcher.rb +3 -5
  7. data/lib/sidekiq/cron/locales/de.yml +15 -6
  8. data/lib/sidekiq/cron/locales/en.yml +14 -14
  9. data/lib/sidekiq/cron/locales/es.yml +22 -0
  10. data/lib/sidekiq/cron/locales/id.yml +22 -0
  11. data/lib/sidekiq/cron/locales/it.yml +15 -16
  12. data/lib/sidekiq/cron/locales/ja.yml +14 -10
  13. data/lib/sidekiq/cron/locales/pt.yml +14 -14
  14. data/lib/sidekiq/cron/locales/ru.yml +15 -7
  15. data/lib/sidekiq/cron/locales/zh-CN.yml +14 -11
  16. data/lib/sidekiq/cron/namespace.rb +43 -0
  17. data/lib/sidekiq/cron/poller.rb +16 -13
  18. data/lib/sidekiq/cron/schedule_loader.rb +56 -16
  19. data/lib/sidekiq/cron/support.rb +4 -30
  20. data/lib/sidekiq/cron/version.rb +1 -1
  21. data/lib/sidekiq/cron/views/cron.erb +98 -92
  22. data/lib/sidekiq/cron/views/cron_show.erb +87 -82
  23. data/lib/sidekiq/cron/views/legacy/cron.erb +114 -0
  24. data/lib/sidekiq/cron/views/legacy/cron_show.erb +92 -0
  25. data/lib/sidekiq/cron/web.rb +21 -2
  26. data/lib/sidekiq/cron/web_extension.rb +99 -31
  27. data/lib/sidekiq/cron.rb +95 -5
  28. data/lib/sidekiq/options.rb +9 -7
  29. data/lib/sidekiq-cron.rb +6 -0
  30. data/sidekiq-cron.gemspec +8 -7
  31. metadata +42 -29
  32. data/test/integration/performance_test.rb +0 -46
  33. data/test/models/person.rb +0 -21
  34. data/test/test_helper.rb +0 -93
  35. data/test/unit/fixtures/schedule_array.yml +0 -13
  36. data/test/unit/fixtures/schedule_erb.yml +0 -6
  37. data/test/unit/fixtures/schedule_hash.yml +0 -12
  38. data/test/unit/fixtures/schedule_string.yml +0 -1
  39. data/test/unit/job_test.rb +0 -1386
  40. data/test/unit/launcher_test.rb +0 -33
  41. data/test/unit/poller_test.rb +0 -144
  42. data/test/unit/schedule_loader_test.rb +0 -58
  43. data/test/unit/web_extension_test.rb +0 -155
data/test/test_helper.rb DELETED
@@ -1,93 +0,0 @@
1
- $TESTING = true
2
- ENV['RACK_ENV'] = 'test'
3
-
4
- require 'simplecov'
5
-
6
- if ENV['CI']
7
- require 'simplecov-cobertura'
8
- SimpleCov.formatter = SimpleCov::Formatter::CoberturaFormatter
9
- end
10
-
11
- SimpleCov.start do
12
- add_filter "test/"
13
- add_group 'Sidekiq-Cron', 'lib/'
14
- end
15
-
16
- require "minitest/autorun"
17
- require "rack/test"
18
- require 'mocha/minitest'
19
- require 'sidekiq'
20
- require 'sidekiq/web'
21
- require "sidekiq/cli"
22
- require 'sidekiq-cron'
23
- require 'sidekiq/cron/web'
24
-
25
- Sidekiq.logger.level = Logger::ERROR
26
- Sidekiq.configure_client do |config|
27
- config.redis = { url: ENV['REDIS_URL'] || 'redis://0.0.0.0:6379' }
28
- end
29
-
30
- # For testing symbolize args
31
- class Hash
32
- def symbolize_keys
33
- transform_keys { |key| key.to_sym rescue key }
34
- end
35
- end
36
-
37
- class CronTestClass
38
- include Sidekiq::Worker
39
- sidekiq_options retry: true
40
-
41
- def perform args = {}
42
- puts "super croned job #{args}"
43
- end
44
- end
45
-
46
- class CronTestClassWithQueue
47
- include Sidekiq::Worker
48
- sidekiq_options queue: :super, retry: false, backtrace: true
49
-
50
- def perform args = {}
51
- puts "super croned job #{args}"
52
- end
53
- end
54
-
55
- module ActiveJob
56
- class Base
57
- attr_accessor *%i[job_class provider_job_id queue_name arguments]
58
-
59
- def initialize
60
- yield self if block_given?
61
- self.provider_job_id ||= SecureRandom.hex(12)
62
- end
63
-
64
- def self.queue_name_prefix
65
- @queue_name_prefix
66
- end
67
-
68
- def self.queue_name_prefix=(queue_name_prefix)
69
- @queue_name_prefix = queue_name_prefix
70
- end
71
-
72
- def self.set(options)
73
- @queue = options['queue']
74
-
75
- self
76
- end
77
-
78
- def try(method, *args, &block)
79
- send method, *args, &block if respond_to? method
80
- end
81
-
82
- def self.perform_later(*args)
83
- new do |instance|
84
- instance.job_class = self.class.name
85
- instance.queue_name = @queue
86
- instance.arguments = [*args]
87
- end
88
- end
89
- end
90
- end
91
-
92
- class ActiveJobCronTestClass < ActiveJob::Base
93
- end
@@ -1,13 +0,0 @@
1
- ---
2
- -
3
- name: "my_first_job"
4
- cron: "*/5 * * * *"
5
- class: "HardWorker"
6
- queue: "hard_worker"
7
- -
8
- name: "second_job"
9
- cron: "*/30 * * * *"
10
- class: "HardWorker"
11
- queue: "hard_worker_long"
12
- args:
13
- hard: "stuff"
@@ -1,6 +0,0 @@
1
- ---
2
- default: &default
3
- cron: <%= "every day at 5 pm" %>
4
- class: <%= "DailyJob" %>
5
-
6
- daily_job: *default
@@ -1,12 +0,0 @@
1
- ---
2
- my_first_job:
3
- cron: "*/5 * * * *"
4
- class: "HardWorker"
5
- queue: hard_worker
6
-
7
- second_job:
8
- cron: "*/30 * * * *"
9
- class: "HardWorker"
10
- queue: hard_worker_long
11
- args:
12
- hard: "stuff"
@@ -1 +0,0 @@
1
- --- string