Skip to content

Instantly share code, notes, and snippets.

@ask
Forked from hamsolodev/gist:451109
Created June 24, 2010 07:46
Show Gist options
  • Save ask/451126 to your computer and use it in GitHub Desktop.
Save ask/451126 to your computer and use it in GitHub Desktop.
from carrot.connection import BrokerConnection
from carrot.messaging import Consumer, Publisher
@task()
def send_emails(n=10):
conn = send_emails.establish_connection()
pub = Publisher(conn, exchange="sendemail",
routing_key="sendemail_emails")
try:
for i in xrange(n):
pub.send({"e-mail": "some@example.com"})
finally:
pub.close()
conn.close()
@task()
def process_emails():
conn = send_emails.establish_connection()
consumer = Consumer(conn, queue="sendemail", exchange="sendemail",
routing_key="sendemail_emails")
for message in consumer.iterqueue():
print("boo")
print("Message: %s" % (message, ))
message.ack()
>>> from tasks import send_emails, process_emails
>>> send_emails.delay()
<AsyncResult: 4e136dc4-2757-4fce-89a1-4705b5153587>
>>> process_emails.delay()
<AsyncResult: 600f8117-77e1-43b3-9fb8-ca0988fd335d>
[2010-06-24 09:46:04,176: INFO/MainProcess] Got task from broker: tasks.send_emails[c2883ef7-d63e-4060-bd92-883092b50de9]
[2010-06-24 09:46:04,287: INFO/MainProcess] Task tasks.send_emails[c2883ef7-d63e-4060-bd92-883092b50de9] processed: None
[2010-06-24 09:46:09,590: INFO/MainProcess] Got task from broker: tasks.process_emails[154dcac0-3593-49a0-a7f5-2a5b4aa4f5c0]
[2010-06-24 09:46:09,655: WARNING/PoolWorker-2] boo
[2010-06-24 09:46:09,656: WARNING/PoolWorker-2] Message: <carrot.backends.pyamqplib.Message object at 0x1022a3750>
[2010-06-24 09:46:09,657: WARNING/PoolWorker-2] boo
[2010-06-24 09:46:09,657: WARNING/PoolWorker-2] Message: <carrot.backends.pyamqplib.Message object at 0x1022a3950>
[2010-06-24 09:46:09,657: WARNING/PoolWorker-2] boo
[2010-06-24 09:46:09,658: WARNING/PoolWorker-2] Message: <carrot.backends.pyamqplib.Message object at 0x1022a38d0>
[2010-06-24 09:46:09,658: WARNING/PoolWorker-2] boo
[2010-06-24 09:46:09,658: WARNING/PoolWorker-2] Message: <carrot.backends.pyamqplib.Message object at 0x1022a39d0>
[2010-06-24 09:46:09,659: WARNING/PoolWorker-2] boo
[2010-06-24 09:46:09,659: WARNING/PoolWorker-2] Message: <carrot.backends.pyamqplib.Message object at 0x1022a3990>
[2010-06-24 09:46:09,660: WARNING/PoolWorker-2] boo
[2010-06-24 09:46:09,660: WARNING/PoolWorker-2] Message: <carrot.backends.pyamqplib.Message object at 0x1022a3890>
[2010-06-24 09:46:09,661: WARNING/PoolWorker-2] boo
[2010-06-24 09:46:09,661: WARNING/PoolWorker-2] Message: <carrot.backends.pyamqplib.Message object at 0x1022a3910>
[2010-06-24 09:46:09,661: WARNING/PoolWorker-2] boo
[2010-06-24 09:46:09,661: WARNING/PoolWorker-2] Message: <carrot.backends.pyamqplib.Message object at 0x1022a3750>
[2010-06-24 09:46:09,662: WARNING/PoolWorker-2] boo
[2010-06-24 09:46:09,662: WARNING/PoolWorker-2] Message: <carrot.backends.pyamqplib.Message object at 0x1022a3950>
[2010-06-24 09:46:09,663: WARNING/PoolWorker-2] boo
[2010-06-24 09:46:09,663: WARNING/PoolWorker-2] Message: <carrot.backends.pyamqplib.Message object at 0x1022a38d0>
[2010-06-24 09:46:09,679: INFO/MainProcess] Task tasks.process_emails[154dcac0-3593-49a0-a7f5-2a5b4aa4f5c0] processed: None
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment