kue_ruby 0.1.0 → 0.2.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/Gemfile.lock +1 -1
- data/README.md +1 -1
- data/lib/kue_ruby.rb +23 -21
- data/lib/kue_ruby/version.rb +1 -1
- metadata +2 -3
- data/dump.rdb +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9a7ef81e78f3103b8b2e89756641fe6b0ef8e194
|
4
|
+
data.tar.gz: 97cca0f205ab8efae8e1bb02df07db5846e09be5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3a153d3f1dbdadc972e2bdb93a42f3f2040eae9bc93a628abb9f7edcc1d0d5c8bfe4c5d660a8b032fff57ce227dfe173c5f8293747a462fdb153331c6009d720
|
7
|
+
data.tar.gz: 3f787785064b73b3c7294adbc4d36058b1af5e9967df40f96fac307ff3d9910d2f36874e69dd4d1a5d518a554cc7ce3aa8979bfee9897643a302e102727c1dec
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -8,7 +8,7 @@ kue = KueRuby.new(redis: Redis.new)
|
|
8
8
|
job = kue.create_job(type: 'foobar', data: { foo: 2 })
|
9
9
|
jobp = kue.create_job(type: 'foobaz', data: { foo: 2 }, priority: -1, max_attempts: 3)
|
10
10
|
job.max_attempts = 5
|
11
|
-
job = job.save kue
|
11
|
+
job = job.save kue
|
12
12
|
```
|
13
13
|
|
14
14
|
Right now, this gem only supports creating jobs in Kue. Feel free to contribute with more!
|
data/lib/kue_ruby.rb
CHANGED
@@ -4,16 +4,18 @@ require 'redis'
|
|
4
4
|
|
5
5
|
# Interface with the Automattic Kue redis store
|
6
6
|
class KueRuby
|
7
|
-
attr_reader :redis
|
7
|
+
attr_reader :redis, :prefix
|
8
8
|
|
9
9
|
# Create a new client instance
|
10
10
|
#
|
11
11
|
# @param Hash options
|
12
12
|
# @option options Redis :redis an instance of `redis`
|
13
|
+
# @option options [String] :prefix namespace in redis (default is q)
|
13
14
|
#
|
14
15
|
# @return [KueRuby] a new kue client instance
|
15
16
|
def initialize(options = {})
|
16
17
|
@redis = options[:redis]
|
18
|
+
@prefix = options[:prefix] ? options[:prefix] : 'q'
|
17
19
|
super()
|
18
20
|
end
|
19
21
|
|
@@ -52,14 +54,14 @@ class KueRuby
|
|
52
54
|
job.state = 'inactive'
|
53
55
|
job.created_at = Time.now
|
54
56
|
job.backoff = { delay: 60 * 1000, type: 'exponential' }
|
55
|
-
job.id = @redis.incr
|
57
|
+
job.id = @redis.incr "#{@prefix}.ids"
|
56
58
|
job.zid = create_fifo job.id
|
57
|
-
@redis.sadd
|
58
|
-
job.save
|
59
|
-
@redis.zadd(
|
60
|
-
@redis.zadd(
|
61
|
-
@redis.zadd("
|
62
|
-
@redis.lpush("
|
59
|
+
@redis.sadd "#{@prefix}:job:types", job.type
|
60
|
+
job.save self
|
61
|
+
@redis.zadd("#{@prefix}:jobs", job.priority, job.zid)
|
62
|
+
@redis.zadd("#{@prefix}:jobs:inactive", job.priority, job.zid)
|
63
|
+
@redis.zadd("#{@prefix}:jobs:#{job.type}:inactive", job.priority, job.zid)
|
64
|
+
@redis.lpush("#{@prefix}:#{job.type}:jobs", 1)
|
63
65
|
job
|
64
66
|
end
|
65
67
|
|
@@ -76,21 +78,21 @@ class KueRuby
|
|
76
78
|
|
77
79
|
# Save job data to redis kue
|
78
80
|
#
|
79
|
-
# @param
|
81
|
+
# @param KueRuby KueRuby instance with redis connection
|
80
82
|
#
|
81
83
|
# @return [KueJob]
|
82
|
-
def save(
|
83
|
-
redis.hmset(
|
84
|
-
"
|
85
|
-
'max_attempts',
|
86
|
-
'backoff',
|
87
|
-
'type',
|
88
|
-
'created_at',
|
89
|
-
'updated_at',
|
90
|
-
'promote_at',
|
91
|
-
'priority',
|
92
|
-
'data',
|
93
|
-
'state',
|
84
|
+
def save(kue)
|
85
|
+
kue.redis.hmset(
|
86
|
+
"#{kue.prefix}:job:#{id}",
|
87
|
+
'max_attempts', max_attempts.to_i,
|
88
|
+
'backoff', backoff.to_json,
|
89
|
+
'type', type,
|
90
|
+
'created_at', (created_at.to_f * 1000).to_i,
|
91
|
+
'updated_at', (Time.now.to_f * 1000).to_i,
|
92
|
+
'promote_at', (Time.now.to_f * 1000).to_i + delay,
|
93
|
+
'priority', priority.to_i,
|
94
|
+
'data', data.to_json,
|
95
|
+
'state', state
|
94
96
|
)
|
95
97
|
self
|
96
98
|
end
|
data/lib/kue_ruby/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kue_ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Josh Beckman
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-09-
|
11
|
+
date: 2017-09-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: redis
|
@@ -99,7 +99,6 @@ files:
|
|
99
99
|
- Rakefile
|
100
100
|
- bin/console
|
101
101
|
- bin/setup
|
102
|
-
- dump.rdb
|
103
102
|
- kue_ruby.gemspec
|
104
103
|
- lib/kue_ruby.rb
|
105
104
|
- lib/kue_ruby/version.rb
|
data/dump.rdb
DELETED
Binary file
|