resque-scheduler 2.2.0 → 4.10.2

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 (68) hide show
  1. checksums.yaml +7 -0
  2. data/.github/dependabot.yml +12 -0
  3. data/.github/funding.yml +4 -0
  4. data/.github/workflows/codeql-analysis.yml +59 -0
  5. data/.github/workflows/rubocop.yml +27 -0
  6. data/.github/workflows/ruby.yml +81 -0
  7. data/AUTHORS.md +31 -0
  8. data/CHANGELOG.md +539 -0
  9. data/CODE_OF_CONDUCT.md +74 -0
  10. data/Gemfile +26 -2
  11. data/LICENSE +1 -1
  12. data/README.md +423 -91
  13. data/Rakefile +12 -35
  14. data/exe/resque-scheduler +5 -0
  15. data/lib/resque/scheduler/cli.rb +147 -0
  16. data/lib/resque/scheduler/configuration.rb +102 -0
  17. data/lib/resque/scheduler/delaying_extensions.rb +371 -0
  18. data/lib/resque/scheduler/env.rb +85 -0
  19. data/lib/resque/scheduler/extension.rb +13 -0
  20. data/lib/resque/scheduler/failure_handler.rb +11 -0
  21. data/lib/resque/scheduler/lock/base.rb +12 -3
  22. data/lib/resque/scheduler/lock/basic.rb +4 -5
  23. data/lib/resque/scheduler/lock/resilient.rb +52 -43
  24. data/lib/resque/scheduler/lock.rb +2 -1
  25. data/lib/resque/scheduler/locking.rb +104 -0
  26. data/lib/resque/scheduler/logger_builder.rb +83 -0
  27. data/lib/resque/scheduler/plugin.rb +31 -0
  28. data/lib/resque/scheduler/scheduling_extensions.rb +142 -0
  29. data/lib/{resque_scheduler → resque/scheduler}/server/views/delayed.erb +23 -8
  30. data/lib/resque/scheduler/server/views/delayed_schedules.erb +20 -0
  31. data/lib/{resque_scheduler → resque/scheduler}/server/views/delayed_timestamp.erb +1 -1
  32. data/lib/resque/scheduler/server/views/scheduler.erb +58 -0
  33. data/lib/resque/scheduler/server/views/search.erb +69 -0
  34. data/lib/resque/scheduler/server/views/search_form.erb +4 -0
  35. data/lib/resque/scheduler/server.rb +268 -0
  36. data/lib/resque/scheduler/signal_handling.rb +40 -0
  37. data/lib/resque/scheduler/tasks.rb +25 -0
  38. data/lib/resque/scheduler/util.rb +39 -0
  39. data/lib/resque/scheduler/version.rb +7 -0
  40. data/lib/resque/scheduler.rb +333 -149
  41. data/lib/resque-scheduler.rb +4 -0
  42. data/resque-scheduler.gemspec +56 -20
  43. metadata +205 -104
  44. data/.gitignore +0 -8
  45. data/.rubocop.yml +0 -120
  46. data/.travis.yml +0 -10
  47. data/HISTORY.md +0 -180
  48. data/lib/resque/scheduler_locking.rb +0 -90
  49. data/lib/resque_scheduler/logger_builder.rb +0 -51
  50. data/lib/resque_scheduler/plugin.rb +0 -25
  51. data/lib/resque_scheduler/server/views/scheduler.erb +0 -44
  52. data/lib/resque_scheduler/server.rb +0 -92
  53. data/lib/resque_scheduler/tasks.rb +0 -40
  54. data/lib/resque_scheduler/version.rb +0 -3
  55. data/lib/resque_scheduler.rb +0 -355
  56. data/script/migrate_to_timestamps_set.rb +0 -14
  57. data/tasks/resque_scheduler.rake +0 -2
  58. data/test/delayed_queue_test.rb +0 -383
  59. data/test/redis-test.conf +0 -108
  60. data/test/resque-web_test.rb +0 -116
  61. data/test/scheduler_args_test.rb +0 -156
  62. data/test/scheduler_hooks_test.rb +0 -23
  63. data/test/scheduler_locking_test.rb +0 -180
  64. data/test/scheduler_setup_test.rb +0 -59
  65. data/test/scheduler_test.rb +0 -256
  66. data/test/support/redis_instance.rb +0 -129
  67. data/test/test_helper.rb +0 -92
  68. /data/lib/{resque_scheduler → resque/scheduler}/server/views/requeue-params.erb +0 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 6cf8e385c64ab6efafcc8f3a499ec2dc8d7be736604e7d4578dd356f1c19d6e9
4
+ data.tar.gz: a564652590bf3c5dc85695cbbb57fb4ca85873de78c94f0580a104ef5d98cf55
5
+ SHA512:
6
+ metadata.gz: 2ab0cea69751963f68055eae115c349a885439a5b33c1c3046a5abd4fc30b676233964d430fa5aeb3eb7960d9339772d41ca31c575156eb4e6583cc66de7497e
7
+ data.tar.gz: f0a4ab726ea640f9df76bbb824078252fb90de9d40c90220611c71069363025933f4a97200c73c13c7c91ff4f02a8c64c735372bbd2e0510e4e5bd021ec081fb
@@ -0,0 +1,12 @@
1
+ version: 2
2
+
3
+ updates:
4
+ - package-ecosystem: "github-actions"
5
+ directory: "/"
6
+ schedule:
7
+ interval: "weekly"
8
+
9
+ - package-ecosystem: "bundler"
10
+ directory: "/"
11
+ schedule:
12
+ interval: "weekly"
@@ -0,0 +1,4 @@
1
+ # Docs for this file can be found here:
2
+ # https://docs.github.com/en/github/administering-a-repository/displaying-a-sponsor-button-in-your-repository
3
+
4
+ github: ["iloveitaly"]
@@ -0,0 +1,59 @@
1
+ name: "CodeQL"
2
+
3
+ on:
4
+ push:
5
+ branches: [ master, '*-stable' ]
6
+ pull_request:
7
+ # The branches below must be a subset of the branches above
8
+ branches: [ master ]
9
+ schedule:
10
+ - cron: '44 16 * * 6'
11
+
12
+ jobs:
13
+ analyze:
14
+ name: Analyze
15
+ runs-on: ubuntu-latest
16
+ permissions:
17
+ actions: read
18
+ contents: read
19
+ security-events: write
20
+
21
+ strategy:
22
+ fail-fast: false
23
+ matrix:
24
+ language: [ 'ruby' ]
25
+ # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
26
+ # Learn more about CodeQL language support at https://git.io/codeql-language-support
27
+
28
+ steps:
29
+ - name: Checkout repository
30
+ uses: actions/checkout@v4
31
+
32
+ # Initializes the CodeQL tools for scanning.
33
+ - name: Initialize CodeQL
34
+ uses: github/codeql-action/init@v2
35
+ with:
36
+ languages: ${{ matrix.language }}
37
+ # If you wish to specify custom queries, you can do so here or in a config file.
38
+ # By default, queries listed here will override any specified in a config file.
39
+ # Prefix the list here with "+" to use these queries and those in the config file.
40
+ # queries: ./path/to/local/query, your-org/your-repo/queries@main
41
+
42
+ # Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
43
+ # If this step fails, then you should remove it and run the build manually (see below)
44
+ - name: Autobuild
45
+ uses: github/codeql-action/autobuild@v2
46
+
47
+ # ℹ️ Command-line programs to run using the OS shell.
48
+ # 📚 https://git.io/JvXDl
49
+
50
+ # ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
51
+ # and modify them (or add more) to build your code if your project
52
+ # uses a compiled language
53
+
54
+ #- run: |
55
+ # make bootstrap
56
+ # make release
57
+
58
+ - name: Perform CodeQL Analysis
59
+ uses: github/codeql-action/analyze@v2
@@ -0,0 +1,27 @@
1
+ name: Rubocop
2
+
3
+ on:
4
+ push:
5
+ branches: [master]
6
+ pull_request:
7
+ branches: [master]
8
+
9
+ jobs:
10
+ rubocop:
11
+ name: Rubocop
12
+ runs-on: ${{ matrix.os }}
13
+ strategy:
14
+ matrix:
15
+ os: [ubuntu-latest]
16
+ ruby: [
17
+ 2.7
18
+ ]
19
+
20
+ steps:
21
+ - uses: actions/checkout@v4
22
+ - uses: ruby/setup-ruby@v1
23
+ with:
24
+ ruby-version: ${{ matrix.ruby }}
25
+ bundler-cache: true
26
+ - name: Ruby linter
27
+ run: bundle exec rubocop
@@ -0,0 +1,81 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: [master]
6
+ pull_request:
7
+ branches: [master]
8
+
9
+ jobs:
10
+ test:
11
+ continue-on-error: true
12
+ runs-on: ubuntu-latest
13
+ services:
14
+ redis:
15
+ image: redis
16
+ ports:
17
+ - 6379:6379
18
+ strategy:
19
+ fail-fast: false
20
+ matrix:
21
+ ruby-version:
22
+ - 2.3
23
+ - 2.4
24
+ - 2.5
25
+ - 2.6
26
+ - 2.7
27
+ - "3.0"
28
+ - 3.1
29
+ - 3.2
30
+ resque-version:
31
+ - "master"
32
+ - "~> 2.4.0"
33
+ - "~> 1.27"
34
+ rufus-scheduler:
35
+ - "3.2"
36
+ - "3.4"
37
+ - "3.5"
38
+ - "3.6"
39
+ redis-version:
40
+ - "~> 4.x"
41
+ - "~> 5.x"
42
+ exclude:
43
+ - ruby-version: head
44
+ rufus-scheduler: 3.2
45
+ - ruby-version: 3.2
46
+ rufus-scheduler: 3.2
47
+
48
+ - ruby-version: 2.3
49
+ resque-version: "~> 1.27"
50
+ rufus-scheduler: 3.4
51
+ - ruby-version: 2.3
52
+ resque-version: "~> 1.27"
53
+ rufus-scheduler: 3.5
54
+ - ruby-version: 2.5
55
+ resque-version: "~> 2.4.0"
56
+ rufus-scheduler: 3.5
57
+ - ruby-version: 2.5
58
+ resque-version: master
59
+ rufus-scheduler: 3.2
60
+
61
+ - ruby-version: 2.3
62
+ redis-version: "~> 5.x"
63
+ - ruby-version: 2.4
64
+ redis-version: "~> 5.x"
65
+
66
+ - resque-version: "~> 1.27"
67
+ redis-version: "~> 5.x"
68
+ env:
69
+ REDIS_VERSION: "${{ matrix.redis-version }}"
70
+ RESQUE: "${{ matrix.resque-version }}"
71
+ RUFUS_SCHEDULER: "${{ matrix.rufus-scheduler }}"
72
+ COVERAGE: 1
73
+
74
+ steps:
75
+ - uses: actions/checkout@v4
76
+ - uses: ruby/setup-ruby@v1
77
+ with:
78
+ ruby-version: "${{ matrix.ruby-version }}"
79
+ bundler-cache: true
80
+ - run: bundle exec rake
81
+ - run: bin/bundle_console_test.sh
data/AUTHORS.md CHANGED
@@ -3,12 +3,14 @@ Resque Scheduler authors
3
3
 
4
4
  - Aaron Suggs
5
5
  - Alexander Simonov
6
+ - Andrea Campolonghi
6
7
  - Ben VandenBos
7
8
  - Bernerd Schaefer
8
9
  - Bogdan Gusiev
9
10
  - Brian Landau
10
11
  - Brian P O'Rourke
11
12
  - Carlos Antonio da Silva
13
+ - Chris Bisnett
12
14
  - Chris Kampmeier
13
15
  - DJ Hartman
14
16
  - Damon P. Cortesi
@@ -19,19 +21,30 @@ Resque Scheduler authors
19
21
  - David Doan
20
22
  - David Yang
21
23
  - Denis Yagofarov
24
+ - dtaniwaki
22
25
  - Evan Tahler
26
+ - Eugene Batogov
23
27
  - Giovanni Cappellotto
24
28
  - Harry Lascelles
25
29
  - Henrik Nyh
30
+ - Hormoz Kheradmand
31
+ - Ian Davies
32
+ - Irving Reid
26
33
  - James Le Cuirot
34
+ - Jarkko Mönkkönen
35
+ - Jimmy Chao
27
36
  - John Crepezzi
28
37
  - John Griffin
29
38
  - Jon Larkowski and Les Hill
39
+ - Jonathan Conley
30
40
  - Jonathan Hyman
31
41
  - Jonathan Owens
42
+ - Jordan Gardner
32
43
  - Joshua Szmajda
33
44
  - Justin Weiss
34
45
  - Les Hill
46
+ - Luke Rodgers
47
+ - Maksymilian Chwałek
35
48
  - Manuel Meurer
36
49
  - Matt Aimonetti
37
50
  - Matt Simpson
@@ -39,23 +52,41 @@ Resque Scheduler authors
39
52
  - Michael Lovitt
40
53
  - Michael Nikitochkin
41
54
  - Michael Rykov
55
+ - Mike MacDonald
42
56
  - Nickolas Means
43
57
  - Olek Janiszewski
44
58
  - Olivier Brisse
45
59
  - Petteri Räty
46
60
  - Phil Cohen
61
+ - Rob Olson
47
62
  - Russell Branca
48
63
  - Ryan Biesemeyer
49
64
  - Ryan Carver
65
+ - Sameer Siruguri
66
+ - Scott Francis
67
+ - Sean Stephens
50
68
  - Sebastian Kippe
69
+ - Sharang Dashputre
51
70
  - Spring MC
71
+ - tbprojects
52
72
  - Tim Liner
53
73
  - Tony Lewis
74
+ - Tom Crayford
75
+ - Tsu-Shiuan Lin
76
+ - Vincent Zhu
77
+ - Vladislav Shub
54
78
  - V Sreekanth
79
+ - Warren Sangster
80
+ - Yuri Kasperovich
55
81
  - andreas
56
82
  - bbauer
83
+ - camol
84
+ - d4rk5eed
57
85
  - fallwith
58
86
  - gravis
59
87
  - hpoydar
60
88
  - malomalo
61
89
  - sawanoboly
90
+ - serek
91
+ - iloveitaly
92
+ - treacher