chronofage 0.0.3 → 0.0.5
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 18c92206f64f9d01f3f00def00f4683b4bef6ed5
|
4
|
+
data.tar.gz: 25c04b48128788c746dce2e654cc516e4a707c97
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: eca7229c60618d760bc27391439003d93bc85be1928afef60dd3f42e373198f1a192094bb0f2bc820df0d0aaca1c21fcc36921906c90e2451d831589fcdc0a18
|
7
|
+
data.tar.gz: 3436a72eacc3d26171dc976a80f290496ae9951a4651c40588865af1d8072ebb2904821da2b6726370ab70129863b06c185387cb8885bc09b3fc98c3f0ed0283
|
@@ -4,10 +4,10 @@ module ActiveJob
|
|
4
4
|
def enqueue(job)
|
5
5
|
Chronofage::Job.create!({
|
6
6
|
job_class: job.class,
|
7
|
-
arguments:
|
7
|
+
arguments: job.serialize.to_json,
|
8
8
|
job_id: job.job_id,
|
9
9
|
queue_name: job.queue_name,
|
10
|
-
priority: job.priority
|
10
|
+
priority: job.priority || 0
|
11
11
|
})
|
12
12
|
end
|
13
13
|
|
data/lib/chronofage/job.rb
CHANGED
@@ -9,20 +9,20 @@ module Chronofage
|
|
9
9
|
ready.where(queue_name: queue_name).order(priority: :asc).first
|
10
10
|
end
|
11
11
|
|
12
|
-
def
|
13
|
-
|
14
|
-
|
15
|
-
|
12
|
+
def perform
|
13
|
+
started!
|
14
|
+
ActiveJob::Base.execute(job_data)
|
15
|
+
completed!
|
16
16
|
rescue
|
17
17
|
failed!
|
18
18
|
raise
|
19
19
|
end
|
20
20
|
|
21
|
-
def
|
21
|
+
def started!
|
22
22
|
update!(started_at: Time.now, host: Chronofage::Job.host)
|
23
23
|
end
|
24
24
|
|
25
|
-
def
|
25
|
+
def completed!
|
26
26
|
update!(completed_at: Time.now)
|
27
27
|
end
|
28
28
|
|
@@ -30,12 +30,28 @@ module Chronofage
|
|
30
30
|
update!(failed_at: Time.now)
|
31
31
|
end
|
32
32
|
|
33
|
+
def ready?
|
34
|
+
state == :ready
|
35
|
+
end
|
36
|
+
|
37
|
+
def started?
|
38
|
+
state == :started
|
39
|
+
end
|
40
|
+
|
41
|
+
def failed?
|
42
|
+
state == :failed
|
43
|
+
end
|
44
|
+
|
45
|
+
def completed?
|
46
|
+
state == :completed
|
47
|
+
end
|
48
|
+
|
33
49
|
def retry!
|
34
|
-
job_class.constantize.perform_later(*
|
50
|
+
job_class.constantize.perform_later(*(ActiveJob::Arguments.deserialize(job_data["arguments"])))
|
35
51
|
end
|
36
52
|
|
37
|
-
def
|
38
|
-
|
53
|
+
def job_data
|
54
|
+
JSON.parse(arguments)
|
39
55
|
end
|
40
56
|
|
41
57
|
def concurrents
|
@@ -48,7 +64,7 @@ module Chronofage
|
|
48
64
|
elsif started_at.present? && failed_at.present?
|
49
65
|
:failed
|
50
66
|
elsif started_at.present?
|
51
|
-
:
|
67
|
+
:started
|
52
68
|
else
|
53
69
|
:ready
|
54
70
|
end
|
data/lib/chronofage/version.rb
CHANGED
data/lib/tasks/chronofage.rake
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: chronofage
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Victor Goya
|
@@ -25,6 +25,7 @@ files:
|
|
25
25
|
- Rakefile
|
26
26
|
- chronofage.gemspec
|
27
27
|
- db/migrate/1_create_job_table.rb
|
28
|
+
- db/migrate/2_add_default_priority.rb
|
28
29
|
- lib/active_job/queue_adapters/chronofage_adapter.rb
|
29
30
|
- lib/chronofage.rb
|
30
31
|
- lib/chronofage/engine.rb
|