resque-scheduler 2.2.0 → 4.10.2

Sign up to get free protection for your applications and to get access to all the features.
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