Python language binding for IronMQ. IronMQ is an elastic message queue for managing data and event flow within cloud applications and between systems. See How It Works
To start using iron_mq_python, you need to sign up and get an OAuth2 token.
- Go to http://iron.io/ and sign up.
- Get an OAuth2 Token at http://hud.iron.io/tokens
Just copy iron_mq.py
and include it in your script:
from iron_mq import *
Two ways to configure IronWorker:
- Passing named arguments:
ironmq = IronMQ(token="xxxxx", project_id="xxxxx")
- Passing an ini file name that stores your configuration options. Rename sample_config.ini to config.ini and include your Iron.io credentials (
token
andproject_id
):
ironmq = IronMQ(config='config.ini')
ironmq.postMessage(queue_name="test_queue", messages=["Hello world"])
More complex example:
message = {
"body" => "Test Message",
"timeout" => 120, # Timeout, in seconds. After timeout, item will be placed back on queue. Defaults to 60.
'delay' => 5, # The item will not be available on the queue until this many seconds have passed. Defaults to 0.
'expires_in' => 2*24*3600 # How long, in seconds, to keep the item on the queue before it is deleted.
}
ironmq.postMessage(queue_name="test_queue", messages=[message])
ironmq.getMessage(queue_name="test_queue")
When you pop/get a message from the queue, it will NOT be deleted. It will eventually go back onto the queue after a timeout if you don't delete it (default timeout is 60 seconds).
ironmq.deleteMessage(queue_name="test_queue", message_id=message_id)
Delete a message from the queue when you're done with it.
You can find more documentation here: