rufus-scheduler 3.8.1 → 3.8.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +6 -0
- data/CREDITS.md +4 -0
- data/README.md +6 -2
- data/lib/rufus/scheduler.rb +22 -10
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9fbe0f73068129b96196031b141f480f830e3110e35d3c5eaa2206530b1ae536
|
4
|
+
data.tar.gz: bec310a43820928b8d342b5b3602edf8cb27aaca8995e0a18073d70dfd3839f8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3e8edfd4df2ddbb0f8026ffa13fff69f9f4bd045da1638fe5ac38610992e0f7d173b20a27ad1833760d6fee62d41b5b160978e107dbc55a1b9d07dfaa62444ad
|
7
|
+
data.tar.gz: 412bb7e80546c5cd13bf8875f928ce6920a9e62774d296db83935adbfee56069cbb2729bb4640962351297cd55b8b5cfb92facfec38e7cb92b3ef9f7446c7283
|
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,12 @@
|
|
2
2
|
# CHANGELOG.md
|
3
3
|
|
4
4
|
|
5
|
+
### rufus-scheduler 3.8.2 - released 2022-07-12
|
6
|
+
|
7
|
+
* Prevent error in shutdown when @thread is current Thread, gh-337
|
8
|
+
* Rescue errors on the scheduling thread, gh-335
|
9
|
+
|
10
|
+
|
5
11
|
### rufus-scheduler 3.8.1 - released 2022-01-11
|
6
12
|
|
7
13
|
* Suppress warning about @resume_discard_past
|
data/CREDITS.md
CHANGED
@@ -4,6 +4,10 @@
|
|
4
4
|
|
5
5
|
## Contributors
|
6
6
|
|
7
|
+
* Bence Monus https://github.com/cromega gh-337 on_error and friends
|
8
|
+
* Talia Wong https://github.com/blowfishpro gh-335 on_error and friends
|
9
|
+
* Konstantin https://github.com/fa11enangel gh-334 nodejitsu link
|
10
|
+
* Olle Jonsson https://github.com/olleolleolle gh-333
|
7
11
|
* Sol Ackerman https://github.com/solarckerman gh-332
|
8
12
|
* John Bachir https://github.com/jjb gh-310 gh-327
|
9
13
|
* Daniel Berger https://github.com/djberg96 gh-300
|
data/README.md
CHANGED
@@ -133,7 +133,7 @@ Yes, issues can be reported in [rufus-scheduler issues](https://github.com/jmett
|
|
133
133
|
### faq
|
134
134
|
|
135
135
|
* [It doesn't work...](https://www.chiark.greenend.org.uk/~sgtatham/bugs.html)
|
136
|
-
* [I want a refund](https://blog.nodejitsu.com/getting-refunds-on-open-source-projects)
|
136
|
+
* [I want a refund](https://web.archive.org/web/20160425034214/http://blog.nodejitsu.com/getting-refunds-on-open-source-projects/)
|
137
137
|
* [Passenger and rufus-scheduler](https://stackoverflow.com/questions/18108719/debugging-rufus-scheduler/18156180#18156180)
|
138
138
|
* [Passenger and rufus-scheduler (2)](https://stackoverflow.com/questions/21861387/rufus-cron-job-not-working-in-apache-passenger#answer-21868555)
|
139
139
|
* [Passenger in-depth spawn methods](https://www.phusionpassenger.com/library/indepth/ruby/spawn_methods/)
|
@@ -860,7 +860,11 @@ require 'rufus-scheduler'
|
|
860
860
|
s = Rufus::Scheduler.new
|
861
861
|
|
862
862
|
def s.on_error(job, err)
|
863
|
-
|
863
|
+
if job
|
864
|
+
p [ 'error in scheduled job', job.class, job.original, err.message ]
|
865
|
+
else
|
866
|
+
p [ 'error while scheduling', err.message ]
|
867
|
+
end
|
864
868
|
rescue
|
865
869
|
p $!
|
866
870
|
end
|
data/lib/rufus/scheduler.rb
CHANGED
@@ -9,7 +9,7 @@ module Rufus; end
|
|
9
9
|
|
10
10
|
class Rufus::Scheduler
|
11
11
|
|
12
|
-
VERSION = '3.8.
|
12
|
+
VERSION = '3.8.2'
|
13
13
|
|
14
14
|
EoTime = ::EtOrbi::EoTime
|
15
15
|
|
@@ -443,10 +443,14 @@ class Rufus::Scheduler
|
|
443
443
|
ms = {}; mutexes.each { |k, v| ms[k] = v.locked? }
|
444
444
|
|
445
445
|
stderr.puts("{ #{pre} rufus-scheduler intercepted an error:")
|
446
|
-
|
447
|
-
|
448
|
-
|
449
|
-
|
446
|
+
if job
|
447
|
+
stderr.puts(" #{pre} job:")
|
448
|
+
stderr.puts(" #{pre} #{job.class} #{job.original.inspect} #{job.opts.inspect}")
|
449
|
+
stderr.puts(" #{pre} #{job.source_location.inspect}")
|
450
|
+
# TODO: eventually use a Job#detail or something like that
|
451
|
+
else
|
452
|
+
stderr.puts(" #{pre} job: (error did not occur in a job)")
|
453
|
+
end
|
450
454
|
stderr.puts(" #{pre} error:")
|
451
455
|
stderr.puts(" #{pre} #{err.object_id}")
|
452
456
|
stderr.puts(" #{pre} #{err.class}")
|
@@ -530,7 +534,7 @@ class Rufus::Scheduler
|
|
530
534
|
|
531
535
|
unlock
|
532
536
|
|
533
|
-
@thread.join
|
537
|
+
@thread.join unless @thread == Thread.current
|
534
538
|
end
|
535
539
|
alias stop shutdown
|
536
540
|
|
@@ -630,12 +634,20 @@ class Rufus::Scheduler
|
|
630
634
|
Thread.new do
|
631
635
|
|
632
636
|
while @started_at do
|
637
|
+
begin
|
638
|
+
|
639
|
+
unschedule_jobs
|
640
|
+
trigger_jobs unless @paused_at
|
641
|
+
timeout_jobs
|
633
642
|
|
634
|
-
|
635
|
-
trigger_jobs unless @paused_at
|
636
|
-
timeout_jobs
|
643
|
+
sleep(@frequency)
|
637
644
|
|
638
|
-
|
645
|
+
rescue => err
|
646
|
+
#
|
647
|
+
# for `blocking: true` jobs mostly
|
648
|
+
#
|
649
|
+
on_error(nil, err)
|
650
|
+
end
|
639
651
|
end
|
640
652
|
|
641
653
|
rejoin
|
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.8.
|
4
|
+
version: 3.8.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: 2022-
|
11
|
+
date: 2022-07-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: fugit
|