mini_scheduler 0.15.0 → 0.16.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/README.md +15 -15
- data/lib/mini_scheduler/manager.rb +1 -1
- data/lib/mini_scheduler/schedule_info.rb +2 -2
- data/lib/mini_scheduler/version.rb +1 -1
- data/mini_scheduler.gemspec +2 -2
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e4a38d3c8bcf38814218e73edefc423c504c8469b3c9e3c05a08bb6b0012dd47
|
4
|
+
data.tar.gz: 13a72f979b4007dd48910a5b03efafab049643e2944058be2a01602855e87393
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d748b674b67d3faf5e1507d5b51d2dfaa1585cf9315d93f8b634faaaf9d2942667f17b345ace2375cfa452412ddb59aac67ed98bb704de831f924f9f4545b700
|
7
|
+
data.tar.gz: 0cae809fb72df9043374a451cfa8e906e434a460201e3383bd54c60c2e4acc92147a83af8887377f3ba42bd661b104a9b7f1e500a80a1c249683fb72f406dbca
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -1,17 +1,15 @@
|
|
1
1
|
[](https://github.com/discourse/mini_scheduler/actions)
|
2
2
|
[](https://rubygems.org/gems/mini_scheduler)
|
3
3
|
|
4
|
-
#
|
4
|
+
# MiniScheduler
|
5
5
|
|
6
6
|
MiniScheduler adds recurring jobs to [Sidekiq](https://sidekiq.org/).
|
7
7
|
|
8
|
-
|
9
|
-
|
10
8
|
## Installation
|
11
9
|
|
12
10
|
Add this line to your application's Gemfile:
|
13
11
|
|
14
|
-
```
|
12
|
+
```rb
|
15
13
|
gem 'mini_scheduler'
|
16
14
|
```
|
17
15
|
|
@@ -25,8 +23,8 @@ Or install it yourself as:
|
|
25
23
|
|
26
24
|
In a Rails application, create files needed in your application to configure mini_scheduler:
|
27
25
|
|
28
|
-
bin/rails g mini_scheduler:install
|
29
|
-
|
26
|
+
$ bin/rails g mini_scheduler:install
|
27
|
+
$ bin/rails db:migrate
|
30
28
|
|
31
29
|
An initializer is created named `config/initializers/mini_scheduler.rb` which lists all the configuration options.
|
32
30
|
|
@@ -34,7 +32,7 @@ An initializer is created named `config/initializers/mini_scheduler.rb` which li
|
|
34
32
|
|
35
33
|
By default each instance of MiniScheduler will run with a single worker. To amend this behavior:
|
36
34
|
|
37
|
-
```
|
35
|
+
```rb
|
38
36
|
if Sidekiq.server? && defined?(Rails)
|
39
37
|
Rails.application.config.after_initialize do
|
40
38
|
MiniScheduler.start(workers: 5)
|
@@ -48,7 +46,7 @@ This is useful for cases where you have extremely long running tasks that you wo
|
|
48
46
|
|
49
47
|
Create jobs with a recurring schedule like this:
|
50
48
|
|
51
|
-
```
|
49
|
+
```rb
|
52
50
|
class MyHourlyJob
|
53
51
|
include Sidekiq::Worker
|
54
52
|
extend MiniScheduler::Schedule
|
@@ -63,21 +61,23 @@ end
|
|
63
61
|
|
64
62
|
Options for schedules:
|
65
63
|
|
66
|
-
|
67
|
-
|
68
|
-
|
64
|
+
- **queue** followed by a queue name, like "queue :email", default queue is "default"
|
65
|
+
- **every** followed by a duration in seconds, like "every 1.hour".
|
66
|
+
- **daily at:** followed by a duration since midnight, like "daily at: 12.hours", to run only once per day at a specific time.
|
69
67
|
|
70
68
|
To view the scheduled jobs, their history, and the schedule, go to sidekiq's web UI and look for the "Scheduler" tab at the top.
|
71
69
|
|
72
70
|
To enable this view in Sidekiq, add `require "mini_scheduler/web"` to `routes.rb`:
|
73
|
-
|
74
|
-
|
71
|
+
|
72
|
+
```rb
|
75
73
|
require "sidekiq/web"
|
76
74
|
require "mini_scheduler/web"
|
75
|
+
|
77
76
|
Rails.application.routes.draw do
|
78
|
-
|
79
|
-
|
77
|
+
...
|
78
|
+
end
|
80
79
|
```
|
80
|
+
|
81
81
|
## How to reach us
|
82
82
|
|
83
83
|
If you have questions about using mini_scheduler or found a problem, you can find us at https://meta.discourse.org.
|
@@ -37,7 +37,7 @@ module MiniScheduler
|
|
37
37
|
def keep_alive(*ids)
|
38
38
|
@manager.keep_alive(*ids)
|
39
39
|
rescue => ex
|
40
|
-
MiniScheduler.handle_job_exception(ex, message: "Error during MiniScheduler
|
40
|
+
MiniScheduler.handle_job_exception(ex, message: "Error during MiniScheduler keep_alive")
|
41
41
|
end
|
42
42
|
|
43
43
|
def repair_queue
|
@@ -104,7 +104,7 @@ module MiniScheduler
|
|
104
104
|
current_owner: @current_owner
|
105
105
|
}.to_json
|
106
106
|
|
107
|
-
redis.zadd queue_key, @next_run, @klass if @next_run
|
107
|
+
redis.zadd queue_key, @next_run.to_s, @klass.to_s if @next_run
|
108
108
|
end
|
109
109
|
|
110
110
|
def del!
|
@@ -135,7 +135,7 @@ module MiniScheduler
|
|
135
135
|
private
|
136
136
|
def clear!
|
137
137
|
redis.del key
|
138
|
-
redis.zrem queue_key, @klass
|
138
|
+
redis.zrem queue_key, @klass.to_s
|
139
139
|
end
|
140
140
|
|
141
141
|
end
|
data/mini_scheduler.gemspec
CHANGED
@@ -28,7 +28,7 @@ Gem::Specification.new do |spec|
|
|
28
28
|
spec.add_development_dependency "mocha", "~> 2.0"
|
29
29
|
spec.add_development_dependency "guard", "~> 2.0"
|
30
30
|
spec.add_development_dependency "guard-rspec", "~> 4.0"
|
31
|
-
spec.add_development_dependency "redis", "
|
31
|
+
spec.add_development_dependency "redis", ">= 4.0"
|
32
32
|
spec.add_development_dependency "rake", "~> 13.0"
|
33
|
-
spec.add_development_dependency "rubocop-discourse", "= 2.
|
33
|
+
spec.add_development_dependency "rubocop-discourse", "= 3.2.0"
|
34
34
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mini_scheduler
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.16.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sam Saffron
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2023-05-17 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: sidekiq
|
@@ -119,14 +119,14 @@ dependencies:
|
|
119
119
|
name: redis
|
120
120
|
requirement: !ruby/object:Gem::Requirement
|
121
121
|
requirements:
|
122
|
-
- - "
|
122
|
+
- - ">="
|
123
123
|
- !ruby/object:Gem::Version
|
124
124
|
version: '4.0'
|
125
125
|
type: :development
|
126
126
|
prerelease: false
|
127
127
|
version_requirements: !ruby/object:Gem::Requirement
|
128
128
|
requirements:
|
129
|
-
- - "
|
129
|
+
- - ">="
|
130
130
|
- !ruby/object:Gem::Version
|
131
131
|
version: '4.0'
|
132
132
|
- !ruby/object:Gem::Dependency
|
@@ -149,14 +149,14 @@ dependencies:
|
|
149
149
|
requirements:
|
150
150
|
- - '='
|
151
151
|
- !ruby/object:Gem::Version
|
152
|
-
version: 2.
|
152
|
+
version: 3.2.0
|
153
153
|
type: :development
|
154
154
|
prerelease: false
|
155
155
|
version_requirements: !ruby/object:Gem::Requirement
|
156
156
|
requirements:
|
157
157
|
- - '='
|
158
158
|
- !ruby/object:Gem::Version
|
159
|
-
version: 2.
|
159
|
+
version: 3.2.0
|
160
160
|
description: Adds recurring jobs for Sidekiq
|
161
161
|
email:
|
162
162
|
- neil.lalonde@discourse.org
|