rufus-scheduler 3.2.1 → 3.2.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.txt +7 -0
- data/CREDITS.txt +4 -1
- data/README.md +28 -7
- data/lib/rufus/scheduler.rb +10 -2
- data/lib/rufus/scheduler/jobs.rb +5 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d295240539281a67916e2d17affe1b83406f28ff
|
4
|
+
data.tar.gz: a597f93ce56ecd1988f65d8fe46a9cd5401974fb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 39652b4c2cbf22b58b4a216fb866ab292eacb2042a7acc740d5d1c5bd936e3a68a0307cb4bcfc7b463b256751c1dd465bc8b32bc05130d9bce1b11fc16518b16
|
7
|
+
data.tar.gz: 37f9c3f06c4a49e75e3d38b20cd4a7bd8934263d671a78d78d5daa2c71f68d1a7273653512ca5b5fafc07412fa8a5b4c12c390bb57d9db0072887b8d84e8f7f4
|
data/CHANGELOG.txt
CHANGED
@@ -2,6 +2,13 @@
|
|
2
2
|
= rufus-scheduler CHANGELOG.txt
|
3
3
|
|
4
4
|
|
5
|
+
== rufus-scheduler - 3.2.2 released 2016-08-14
|
6
|
+
|
7
|
+
- job opt hash preservation, as suggested in gh-212, by https://github.com/d-m-u
|
8
|
+
- introduce Job#previous_time
|
9
|
+
- countered ActiveRecord 3.2.22 on gh-210, by https://github.com/paulodelgado
|
10
|
+
|
11
|
+
|
5
12
|
== rufus-scheduler - 3.2.1 released 2016-05-04
|
6
13
|
|
7
14
|
- accept '* * * * 5L' (last friday) (equivalent to '* * * * 5#-1')
|
data/CREDITS.txt
CHANGED
@@ -4,7 +4,9 @@
|
|
4
4
|
|
5
5
|
== Contributors
|
6
6
|
|
7
|
-
-
|
7
|
+
- Paulo Delgado (https://github.com/paulodelgado) counter ActiveRecord, gh-210
|
8
|
+
- Anjali Sharma (https://github.com/anjali-sharma) enhance job#last_time example
|
9
|
+
- Kyle Simukka (https://github.com/simook) raise on "*/0 * * * *"
|
8
10
|
- Ryan McGeary (https://github.com/rmm5t) svg badges for the readme
|
9
11
|
- Balasankar C (https://github.com/balasankarc) fix CronJob spec vs December
|
10
12
|
- Matthieu Rosinski (https://github.com/Korrigan) prevent "every" shifts
|
@@ -48,6 +50,7 @@
|
|
48
50
|
|
49
51
|
== Feedback
|
50
52
|
|
53
|
+
- d-m-u duhlmann - https://github.com/d-m-u - job opt hash preservation
|
51
54
|
- Anjali Sharma - https://github.com/anjali-sharma - fix typographical error
|
52
55
|
- Jonathan Campos - https://github.com/jonbcampos - negative cron day idea
|
53
56
|
- Andrey Morskov - https://github.com/accessd - fix typographical error
|
data/README.md
CHANGED
@@ -123,7 +123,7 @@ Yes, issues can be reported in [rufus-scheduler issues](https://github.com/jmett
|
|
123
123
|
* [Passenger and rufus-scheduler (2)](http://stackoverflow.com/questions/21861387/rufus-cron-job-not-working-in-apache-passenger#answer-21868555)
|
124
124
|
* [Passenger in-depth spawn methods](https://www.phusionpassenger.com/library/indepth/ruby/spawn_methods/)
|
125
125
|
* [Passenger in-depth spawn methods (smart spawning)](https://www.phusionpassenger.com/library/indepth/ruby/spawn_methods/#smart-spawning-hooks)
|
126
|
-
* [The scheduler comes up when running the Rails console](https://github.com/jmettraux/rufus-scheduler#avoid-scheduling-when-running-the-ruby-on-rails-console)
|
126
|
+
* [The scheduler comes up when running the Rails console or a Rake task](https://github.com/jmettraux/rufus-scheduler#avoid-scheduling-when-running-the-ruby-on-rails-console)
|
127
127
|
* [I don't get any of this, I just want it to work in my Rails application](#so-rails)
|
128
128
|
|
129
129
|
|
@@ -181,7 +181,7 @@ Interval jobs, trigger, execute and then trigger again after the interval elapse
|
|
181
181
|
|
182
182
|
Cron jobs are based on the venerable cron utility (```man 5 crontab```). They trigger following a pattern given in (almost) the same language cron uses.
|
183
183
|
|
184
|
-
####
|
184
|
+
####
|
185
185
|
|
186
186
|
### #schedule_x vs #x
|
187
187
|
|
@@ -641,12 +641,31 @@ job.scheduled_at
|
|
641
641
|
### last_time
|
642
642
|
|
643
643
|
Returns the last time the job triggered (is usually nil for AtJob and InJob).
|
644
|
-
k
|
645
644
|
```ruby
|
646
|
-
job = scheduler.schedule_every('
|
647
|
-
|
645
|
+
job = scheduler.schedule_every('10s') do; end
|
646
|
+
|
648
647
|
job.scheduled_at
|
649
648
|
# => 2013-07-17 23:48:54 +0900
|
649
|
+
job.last_time
|
650
|
+
# => nil (since we've just scheduled it)
|
651
|
+
|
652
|
+
# after 10 seconds
|
653
|
+
|
654
|
+
job.scheduled_at
|
655
|
+
# => 2013-07-17 23:48:54 +0900 (same as above)
|
656
|
+
job.last_time
|
657
|
+
# => 2013-07-17 23:49:04 +0900
|
658
|
+
```
|
659
|
+
|
660
|
+
### previous_time
|
661
|
+
|
662
|
+
Returns the previous `#next_time`
|
663
|
+
```ruby
|
664
|
+
scheduler.every('10s') do |job|
|
665
|
+
puts "job scheduled for #{job.previous_time} triggered at #{Time.now}"
|
666
|
+
puts "next time will be around #{job.next_time}"
|
667
|
+
puts "."
|
668
|
+
end
|
650
669
|
```
|
651
670
|
|
652
671
|
### last_work_time, mean_work_time
|
@@ -1449,7 +1468,7 @@ The rufus-scheduler singleton is instantiated in the ```config/initializers/sche
|
|
1449
1468
|
|
1450
1469
|
(Written in reply to https://github.com/jmettraux/rufus-scheduler/issues/186 )
|
1451
1470
|
|
1452
|
-
If you don't want rufus-scheduler to kick in when running the Ruby on Rails console, you can wrap your initializer in a conditional:
|
1471
|
+
If you don't want rufus-scheduler to kick in when running the Ruby on Rails console or invoking a rake task, you can wrap your initializer in a conditional:
|
1453
1472
|
|
1454
1473
|
```ruby
|
1455
1474
|
#
|
@@ -1460,8 +1479,10 @@ require 'rufus-scheduler'
|
|
1460
1479
|
s = Rufus::Scheduler.singleton
|
1461
1480
|
|
1462
1481
|
|
1463
|
-
unless defined?(Rails::Console)
|
1482
|
+
unless defined?(Rails::Console) || File.split($0).last == 'rake'
|
1483
|
+
|
1464
1484
|
# only schedule when not running from the Ruby on Rails console
|
1485
|
+
# or from a rake task
|
1465
1486
|
|
1466
1487
|
s.every '1m' do
|
1467
1488
|
|
data/lib/rufus/scheduler.rb
CHANGED
@@ -39,7 +39,7 @@ module Rufus
|
|
39
39
|
require 'rufus/scheduler/job_array'
|
40
40
|
require 'rufus/scheduler/locks'
|
41
41
|
|
42
|
-
VERSION = '3.2.
|
42
|
+
VERSION = '3.2.2'
|
43
43
|
|
44
44
|
#
|
45
45
|
# A common error class for rufus-scheduler
|
@@ -252,6 +252,9 @@ module Rufus
|
|
252
252
|
|
253
253
|
def schedule(arg, callable=nil, opts={}, &block)
|
254
254
|
|
255
|
+
callable, opts = nil, callable if callable.is_a?(Hash)
|
256
|
+
opts = opts.dup
|
257
|
+
|
255
258
|
opts[:_t] = Scheduler.parse(arg, opts)
|
256
259
|
|
257
260
|
case opts[:_t]
|
@@ -263,6 +266,9 @@ module Rufus
|
|
263
266
|
|
264
267
|
def repeat(arg, callable=nil, opts={}, &block)
|
265
268
|
|
269
|
+
callable, opts = nil, callable if callable.is_a?(Hash)
|
270
|
+
opts = opts.dup
|
271
|
+
|
266
272
|
opts[:_t] = Scheduler.parse(arg, opts)
|
267
273
|
|
268
274
|
case opts[:_t]
|
@@ -609,9 +615,11 @@ module Rufus
|
|
609
615
|
|
610
616
|
fail NotRunningError.new(
|
611
617
|
'cannot schedule, scheduler is down or shutting down'
|
612
|
-
) if @started_at
|
618
|
+
) if @started_at.nil?
|
613
619
|
|
614
620
|
callable, opts = nil, callable if callable.is_a?(Hash)
|
621
|
+
opts = opts.dup unless opts.has_key?(:_t)
|
622
|
+
|
615
623
|
return_job_instance ||= opts[:job]
|
616
624
|
|
617
625
|
job_class =
|
data/lib/rufus/scheduler/jobs.rb
CHANGED
@@ -53,6 +53,10 @@ module Rufus
|
|
53
53
|
#
|
54
54
|
attr_accessor :next_time
|
55
55
|
|
56
|
+
# previous "next trigger time"
|
57
|
+
#
|
58
|
+
attr_accessor :previous_time
|
59
|
+
|
56
60
|
# anything with a #call(job[, timet]) method,
|
57
61
|
# what gets actually triggered
|
58
62
|
#
|
@@ -117,6 +121,7 @@ module Rufus
|
|
117
121
|
|
118
122
|
def trigger(time)
|
119
123
|
|
124
|
+
@previous_time = @next_time
|
120
125
|
set_next_time(time)
|
121
126
|
|
122
127
|
return if (
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rufus-scheduler
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.2.
|
4
|
+
version: 3.2.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- John Mettraux
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-08-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|