README.md in disque-0.0.4 vs README.md in disque-0.0.5
- old
+ new
@@ -10,27 +10,79 @@
```ruby
client = Disque.new(["127.0.0.1:7711", "127.0.0.1:7712", "127.0.0.1:7713"])
```
+Alternatively, you can pass a single string with comma-separated nodes:
+
+```ruby
+client = Disque.new("127.0.0.1:7711,127.0.0.1:7712,127.0.0.1:7713")
+```
+
+Using a single string is useful if you are receiving the list of nodes
+from an environment variable.
+
+If the nodes are password protected, you can pass the `AUTH` string:
+
+```ruby
+client = Disque.new("127.0.0.1:7711", auth: "e727d1464a...")
+```
+
+The client keeps track of which nodes are providing more jobs, and after
+a given number operations it tries to connect to the preferred node. The
+number of operations for each cycle defaults to 1000, but it can be
+configured:
+
+```ruby
+client = Disque.new("127.0.0.1:7711", cycle: 20000)
+```
+
Now you can add jobs:
```ruby
client.push("foo", "bar", 100)
```
-It will push the job "bar" to the queue "foo" with a timeout of 100
-ms, and return the id of the job if it was received and replicated
-in time.
+It will push the job `"bar"` to the queue `"foo"` with a timeout
+of 100 ms, and return the id of the job if it was received and
+replicated in time.
+Disque's `ADDJOB` signature is as follows:
+
+```
+ADDJOB queue_name job <ms-timeout>
+ [REPLICATE <count>]
+ [DELAY <sec>]
+ [RETRY <sec>]
+ [TTL <sec>]
+ [MAXLEN <count>]
+ [ASYNC]
+```
+
+You can pass any optional arguments as a hash, for example:
+
+```ruby
+disque.push("foo", "myjob", 1000, ttl: 1, async: true)
+```
+
+Note that `async` is a special case because it's just a flag. That's
+why `true` must be passed as its value.
+
Then, your workers will do something like this:
```ruby
loop do
client.fetch(from: ["foo"]) do |job|
# Do something with `job`
end
end
+```
+
+The `fetch` command receives an array of queues, and optionally a
+`timeout` (in milliseconds) and the `count` of jobs to retrieve:
+
+```ruby
+client.fetch(from: ["bar", "baz"], count: 10, timeout: 2000)
```
Installation
------------