|  | @@ -330,58 +330,44 @@ Can I use celery with ActiveMQ/STOMP?
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  **Answer**: Yes, but this is somewhat experimental for now.
 | 
	
		
			
				|  |  |  It is working ok in a test configuration, but it has not
 | 
	
		
			
				|  |  | -been tested in production like RabbitMQ has. If you have any problems with
 | 
	
		
			
				|  |  | -using STOMP and celery, please report the bugs to the issue tracker:
 | 
	
		
			
				|  |  | +been tested in production. If you have any problems
 | 
	
		
			
				|  |  | +using STOMP with celery, please report an issue here::
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      http://github.com/ask/celery/issues/
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -First you have to use the ``master`` branch of ``celery``::
 | 
	
		
			
				|  |  | +The STOMP carrot backend requires the `stompy`_ library::
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    $ git clone git://github.com/ask/celery.git
 | 
	
		
			
				|  |  | -    $ cd celery
 | 
	
		
			
				|  |  | -    $ sudo python setup.py install
 | 
	
		
			
				|  |  | -    $ cd ..
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -Then you need to install the ``stompbackend`` branch of ``carrot``::
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -    $ git clone git://github.com/ask/carrot.git
 | 
	
		
			
				|  |  | -    $ cd carrot
 | 
	
		
			
				|  |  | -    $ git checkout stompbackend
 | 
	
		
			
				|  |  | -    $ sudo python setup.py install
 | 
	
		
			
				|  |  | -    $ cd ..
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -And my fork of ``python-stomp`` which adds non-blocking support::
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -    $ hg clone http://bitbucket.org/asksol/python-stomp/
 | 
	
		
			
				|  |  | +    $ pip install stompy
 | 
	
		
			
				|  |  |      $ cd python-stomp
 | 
	
		
			
				|  |  |      $ sudo python setup.py install
 | 
	
		
			
				|  |  |      $ cd ..
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +.. _`stompy`: http://pypi.python.org/pypi/stompy
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  In this example we will use a queue called ``celery`` which we created in
 | 
	
		
			
				|  |  |  the ActiveMQ web admin interface.
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -**Note**: For ActiveMQ the queue name has to have ``"/queue/"`` prepended to
 | 
	
		
			
				|  |  | -it. i.e. the queue ``celery`` becomes ``/queue/celery``.
 | 
	
		
			
				|  |  | +**Note**: When using ActiveMQ the queue name needs to have ``"/queue/"``
 | 
	
		
			
				|  |  | +prepended to it. i.e. the queue ``celery`` becomes ``/queue/celery``.
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -Since a STOMP queue is a single named entity and it doesn't have the
 | 
	
		
			
				|  |  | -routing capabilities of AMQP you need to set both the ``queue``, and
 | 
	
		
			
				|  |  | -``exchange`` settings to your queue name. This is a minor inconvenience since
 | 
	
		
			
				|  |  | -carrot needs to maintain the same interface for both AMQP and STOMP (obviously
 | 
	
		
			
				|  |  | -the one with the most capabilities won).
 | 
	
		
			
				|  |  | +Since STOMP doesn't have exchanges and the routing capabilities of AMQP,
 | 
	
		
			
				|  |  | +you need to set ``exchange`` name to the same as the queue name. This is
 | 
	
		
			
				|  |  | +a minor inconvenience since carrot needs to maintain the same interface
 | 
	
		
			
				|  |  | +for both AMQP and STOMP.
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -Use the following specific settings in your ``celeryconfig.py``/django ``settings.py``:
 | 
	
		
			
				|  |  | +Use the following settings in your ``celeryconfig.py``/django ``settings.py``:
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  .. code-block:: python
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    # Makes python-stomp the default backend for carrot.
 | 
	
		
			
				|  |  | +    # Use the stomp carrot backend.
 | 
	
		
			
				|  |  |      CARROT_BACKEND = "stomp"
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      # STOMP hostname and port settings.
 | 
	
		
			
				|  |  |      BROKER_HOST = "localhost"
 | 
	
		
			
				|  |  |      BROKER_PORT = 61613
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    # The queue name to use (both queue and exchange must be set to the
 | 
	
		
			
				|  |  | -    # same queue name when using STOMP)
 | 
	
		
			
				|  |  | +    # The queue name to use (the exchange *must* be set to the
 | 
	
		
			
				|  |  | +    # same as the queue name when using STOMP)
 | 
	
		
			
				|  |  |      CELERY_DEFAULT_QUEUE = "/queue/celery"
 | 
	
		
			
				|  |  |      CELERY_DEFAULT_EXCHANGE = "/queue/celery" 
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -389,11 +375,8 @@ Use the following specific settings in your ``celeryconfig.py``/django ``setting
 | 
	
		
			
				|  |  |          "/queue/celery": {"exchange": "/queue/celery"}
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -Now you can go on reading the tutorial in the README, ignoring any AMQP
 | 
	
		
			
				|  |  | -specific options. 
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -What features are not supported when using STOMP?
 | 
	
		
			
				|  |  | ---------------------------------------------------
 | 
	
		
			
				|  |  | +What features are not supported when using ghettoq/STOMP?
 | 
	
		
			
				|  |  | +---------------------------------------------------------
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  This is a (possible incomplete) list of features not available when
 | 
	
		
			
				|  |  |  using the STOMP backend:
 |