# RabbitMQ module

**URL:** <https://forum.ansible.com/t/rabbitmq-module/12305>\
**Category:** Ansible Project\
**Tags:** ansible-project\
**Created:** [February 7, 2013, 6:59pm UTC](https://forum.ansible.com/t/rabbitmq-module/12305 "2013-02-07T18:59:31Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![Michael\_DeHaan](https://avatars.discourse-cdn.com/v4/letter/m/c4cdca/32.png) [@Michael\_DeHaan](https://forum.ansible.com/u/Michael_DeHaan)\
**Post date:** [February 7, 2013, 6:59pm UTC](https://forum.ansible.com/t/rabbitmq-module/12305/1 "2013-02-07T18:59:31Z")

</div>

Neat! Do you have an example of it being used in a playbook?

I'm open to including these in core if you are interested.

Big fan of Rabbit.

---

<div class="post-metadata">

**Author:** ![Lorin\_Hochstein1](https://avatars.discourse-cdn.com/v4/letter/l/ce73a5/32.png) [@Lorin\_Hochstein1](https://forum.ansible.com/u/Lorin_Hochstein1)\
**Post date:** [February 7, 2013, 7:28pm UTC](https://forum.ansible.com/t/rabbitmq-module/12305/2 "2013-02-07T19:28:51Z")

</div>

+1 for this in core, we use it both for our Django stuff (with celery) and our OpenStack stuff.

---

<div class="post-metadata">

**Author:** ![Michael\_DeHaan](https://avatars.discourse-cdn.com/v4/letter/m/c4cdca/32.png) [@Michael\_DeHaan](https://forum.ansible.com/u/Michael_DeHaan)\
**Post date:** [February 7, 2013, 7:41pm UTC](https://forum.ansible.com/t/rabbitmq-module/12305/3 "2013-02-07T19:41:02Z")

</div>

Offhand, since you mentioned celery,

what's the state of the art in python scheduling that does \*NOT\* require Django?

---

<div class="post-metadata">

**Author:** ![Lorin\_Hochstein1](https://avatars.discourse-cdn.com/v4/letter/l/ce73a5/32.png) [@Lorin\_Hochstein1](https://forum.ansible.com/u/Lorin_Hochstein1)\
**Post date:** [February 7, 2013, 7:51pm UTC](https://forum.ansible.com/t/rabbitmq-module/12305/4 "2013-02-07T19:51:06Z")

</div>

Do you want to do cron-style task scheduling?

I'm pretty sure you can install and use celery without django.

Lorin

---

<div class="post-metadata">

**Author:** ![Michael\_DeHaan](https://avatars.discourse-cdn.com/v4/letter/m/c4cdca/32.png) [@Michael\_DeHaan](https://forum.ansible.com/u/Michael_DeHaan)\
**Post date:** [February 7, 2013, 8:33pm UTC](https://forum.ansible.com/t/rabbitmq-module/12305/5 "2013-02-07T20:33:43Z")

</div>

> Do you want to do cron-style task scheduling?

Yes, but also "here's a job now, I want you to be in a queue and run  
when there's an available slot".

> I'm pretty sure you can install and use celery without django.

That sounds ideal.

Django is not bad, I just end up not using/needing large parts of it.

---

<div class="post-metadata">

**Author:** ![Lorin\_Hochstein1](https://avatars.discourse-cdn.com/v4/letter/l/ce73a5/32.png) [@Lorin\_Hochstein1](https://forum.ansible.com/u/Lorin_Hochstein1)\
**Post date:** [February 7, 2013, 9:02pm UTC](https://forum.ansible.com/t/rabbitmq-module/12305/6 "2013-02-07T21:02:15Z")

</div>

> \> Do you want to do cron-style task scheduling?
> 
> Yes, but also "here's a job now, I want you to be in a queue and run  
> when there's an available slot".
> 
> \>  
> \> I'm pretty sure you can install and use celery without django.
> 
> That sounds ideal.

I'm a fan of celery, but if you want a lower-level interface for your  
message queue system, I suggest you take a look at kombu.

---

<div class="post-metadata">

**Author:** ![Michael\_DeHaan](https://avatars.discourse-cdn.com/v4/letter/m/c4cdca/32.png) [@Michael\_DeHaan](https://forum.ansible.com/u/Michael_DeHaan)\
**Post date:** [February 7, 2013, 9:07pm UTC](https://forum.ansible.com/t/rabbitmq-module/12305/7 "2013-02-07T21:07:57Z")

</div>

> I'm a fan of celery, but if you want a lower-level interface for your  
> message queue system, I suggest you take a look at kombu.

Wow, nice. Perhaps not so much scheduling related, but this is  
immediately relevant to my interests with providing an upgraded  
fireball.

---

<div class="post-metadata">

**Author:** ![Chris\_Hoffman](https://avatars.discourse-cdn.com/v4/letter/c/85f322/32.png) [@Chris\_Hoffman](https://forum.ansible.com/u/Chris_Hoffman)\
**Post date:** [February 7, 2013, 9:10pm UTC](https://forum.ansible.com/t/rabbitmq-module/12305/8 "2013-02-07T21:10:09Z")

</div>

I thing it would be great to see these in core. I wasn’t sure how specific the core modules should be but I guess Rabbit is not that obscure. I plan on creating a few more modules, specifically for vhost, policy, and cluster. I will submit a pull request and create a sample playbook that uses these modules.

---

<div class="post-metadata">

**Author:** ![Michael\_DeHaan](https://avatars.discourse-cdn.com/v4/letter/m/c4cdca/32.png) [@Michael\_DeHaan](https://forum.ansible.com/u/Michael_DeHaan)\
**Post date:** [February 7, 2013, 9:13pm UTC](https://forum.ansible.com/t/rabbitmq-module/12305/9 "2013-02-07T21:13:20Z")

</div>

> I thing it would be great to see these in core. I wasn't sure how specific  
> the core modules should be but I guess Rabbit is not that obscure. I plan  
> on creating a few more modules, specifically for vhost, policy, and cluster.  
> I will submit a pull request and create a sample playbook that uses these  
> modules.

I'm increasingly going to the view that we should be rather 'batteries  
included' as we can be (except for obscure stuff), as modules are a  
great way to collaborate  
and share.

So yeah, more power++.

We should hold back when things are clearly things that are playbook  
stuff (setting up a config file) but in many cases when they deal with  
commands -- especially rabbit, which NEEDS  
commands to be configured, this belongs in a module for sure.

(I once almost wrote a config-file-to-rabbit-config--and-back program  
at one point many years ago)
