disc 0.0.28 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +46 -15
- data/lib/disc/version.rb +1 -1
- 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: 7e4f52b8bcd6d2c7b0648a5943c23f41c2fc71b0
|
4
|
+
data.tar.gz: 45fded657cbdd9122369e9cee62a0f451fb65309
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 29e37f6f7c7b706345a66699beca6513f3adb1351b61d4a6d99513a207f0798af25a59542514f1728e56254c772e0df5cbfda5cab24a10efe8071abf75b8ec79
|
7
|
+
data.tar.gz: d8917b863ef3073e27ed2804174e8719d71d1021adc5c45eca79873a13988eadf9293b2f668936da140f311a204f8a94c57d216bb2a1f69d9ec2089694cfb94a
|
data/README.md
CHANGED
@@ -61,6 +61,20 @@ Disc fills the gap between your Ruby service objects and [antirez](http://antire
|
|
61
61
|
)
|
62
62
|
```
|
63
63
|
|
64
|
+
## Disc Configuration
|
65
|
+
|
66
|
+
Disc takes its configuration from environment variables.
|
67
|
+
|
68
|
+
| ENV Variable | Default Value | Description
|
69
|
+
|:------------------:|:-----------------|:------------|
|
70
|
+
| `QUEUES` | 'default' | The list of queues that `Disc::Worker` will listen to, it can be a single queue name or a list of comma-separated queues |
|
71
|
+
| `DISC_CONCURRENCY` | '25' | Amount of threads to spawn when Celluloid is available. |
|
72
|
+
| `DISQUE_NODES` | 'localhost:7711' | This is the list of Disque servers to connect to, it can be a single node or a list of comma-separated nodes |
|
73
|
+
| `DISQUE_AUTH` | '' | Authorization credentials for Disque. |
|
74
|
+
| `DISQUE_TIMEOUT` | '100' | Time in milliseconds that the client will wait for the Disque server to acknowledge and replicate a job |
|
75
|
+
| `DISQUE_CYCLE` | '1000' | The client keeps track of which nodes are providing more jobs, after the amount of operations specified in cycle it tries to connect to the preferred node. |
|
76
|
+
|
77
|
+
|
64
78
|
## Disc Jobs
|
65
79
|
|
66
80
|
`Disc::Job` is a module you can include in your Ruby classes, this allows a Disc worker process to execute the code in them by adding a class method (`#enqueue`) with the following signature:
|
@@ -146,6 +160,38 @@ end
|
|
146
160
|
ComplexJob.enqueue(['first argument', { second: 'argument' }])
|
147
161
|
```
|
148
162
|
|
163
|
+
### Job Status
|
164
|
+
|
165
|
+
After a job is enqueued, you can check it's current status like so:
|
166
|
+
|
167
|
+
```ruby
|
168
|
+
Echoer.enqueue('test')
|
169
|
+
#=> "DIa18101491133639148a574eb30cd2e12f25dcf8805a0SQ"
|
170
|
+
|
171
|
+
Disc["DIa18101491133639148a574eb30cd2e12f25dcf8805a0SQ"]
|
172
|
+
#=> {
|
173
|
+
"arguments"=>["test"],
|
174
|
+
"class"=>"Echoer",
|
175
|
+
"id"=>"DIa18101491133639148a574eb30cd2e12f25dcf8805a0SQ",
|
176
|
+
"queue"=>"test",
|
177
|
+
"state"=>"queued",
|
178
|
+
"repl"=>1,
|
179
|
+
"ttl"=>86391,
|
180
|
+
"ctime"=>1462488116652000000,
|
181
|
+
"delay"=>0,
|
182
|
+
"retry"=>8640,
|
183
|
+
"nacks"=>0,
|
184
|
+
"additional-deliveries"=>0,
|
185
|
+
"nodes-delivered"=>["a18101496d562e412a459c6b114561efe95c57cc"],
|
186
|
+
"nodes-confirmed"=>[],
|
187
|
+
"next-requeue-within"=>8630995,
|
188
|
+
"next-awake-within"=>8630495,
|
189
|
+
"body"=>"{\"class\":\"Echoer\",\"arguments\":[\"test\"]}"
|
190
|
+
}
|
191
|
+
```
|
192
|
+
|
193
|
+
This information might vary, as it's retreived from Disque via the [`SHOW`](https://github.com/antirez/disque#show-job-id) command, only `arguments` and `class` are filled in by Disc, which are added by using `Disc.deserialize` on the `body` value.
|
194
|
+
|
149
195
|
### Job Serialization
|
150
196
|
|
151
197
|
Job information (their arguments, and class) need to be serialized in order to be stored
|
@@ -158,19 +204,6 @@ By default, these methods use by default the Ruby standard library json implemen
|
|
158
204
|
2. You can override `Disc.serialize` and `Disc.deserialize` to use a different JSON implementation, or MessagePack, or whatever else you wish.
|
159
205
|
|
160
206
|
|
161
|
-
## Settings
|
162
|
-
|
163
|
-
Disc takes its configuration from environment variables.
|
164
|
-
|
165
|
-
| ENV Variable | Default Value | Description
|
166
|
-
|:------------------:|:-----------------|:------------|
|
167
|
-
| `QUEUES` | 'default' | The list of queues that `Disc::Worker` will listen to, it can be a single queue name or a list of comma-separated queues |
|
168
|
-
| `DISC_CONCURRENCY` | '25' | Amount of threads to spawn when Celluloid is available. |
|
169
|
-
| `DISQUE_NODES` | 'localhost:7711' | This is the list of Disque servers to connect to, it can be a single node or a list of comma-separated nodes |
|
170
|
-
| `DISQUE_AUTH` | '' | Authorization credentials for Disque. |
|
171
|
-
| `DISQUE_TIMEOUT` | '100' | Time in milliseconds that the client will wait for the Disque server to acknowledge and replicate a job |
|
172
|
-
| `DISQUE_CYCLE` | '1000' | The client keeps track of which nodes are providing more jobs, after the amount of operations specified in cycle it tries to connect to the preferred node. |
|
173
|
-
|
174
207
|
## Error handling
|
175
208
|
|
176
209
|
When a job raises an exception, `Disc.on_error` is invoked with the error and
|
@@ -222,8 +255,6 @@ Disc.queues
|
|
222
255
|
|
223
256
|
Returner.enqueue('another test')
|
224
257
|
#=> => {"default"=>[{:arguments=>["test argument"], :class=>"Returner", :options=>{}}, {:arguments=>["another test"], :class=>"Returner", :options=>{}}]}
|
225
|
-
|
226
|
-
|
227
258
|
```
|
228
259
|
|
229
260
|
You can still flush the queues just as you would running on regular mode.
|
data/lib/disc/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: disc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- pote
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-05-
|
11
|
+
date: 2016-05-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: disque
|