Skip to content

miku/pyqueued

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

README

Python client for HTTP message queue Queued.

pypi version

Usage

>>> import pyqueued

Get a client.

>>> client = pyqueued.Client(host='localhost', port=5353)

Enqueue a message:

>>> loc = client.enqueue("q", "my message")
>>> loc
'http://localhost:5353/q/155'

Get the head of the queue. Without any timeout, the item is marked as completed when dequeued.

>>> msg, loc = client.dequeue("q")
>>> msg
'my message'

THe queue is empty now, so another dequeue will fail:

>>> msg, loc = client.dequeue("q")
...
RuntimeError: dequeue failed: <Response [404]>

Enqueue another message:

>>> loc = client.enqueue("q", "another message")

But dequeue with timeout (given in seconds). If the message is not completed within timeout, it will be enqueued again.

>>> client.dequeue("q", timeout=2)
('another message', 'http://localhost:5353/q/160')

The has message timed out and has been enqueued again. So we can actually dequeue it once more. But now we mark it completed in time.

>>> client.dequeue("q", timeout=20)
('my message with timeout', 'http://localhost:5353/q/160')

>>> client.complete("q", "160")

Alternatively, item can be completed by URL. To the last line have been written also as:

>>> client.complete_by_url('http://localhost:5353/q/160')

Stats about the queue:

>>> client.stats("q")
{'depth': 1, 'dequeued': 3, 'enqueued': 3, 'timeouts': 1}

About

Python client for queued.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published