Logo

Don't Worry About Your Celery Backend

IronMQ is a fully managed Celery transport layer


Celery is a popular Python-based distributed task queue for processing asynchronous and scheduled jobs – something that every application needs and every developer should understand. Behind Celery, you can choose one of the many popular queue technologies such as IronMQ for the transport.
The reason for IronMQ is Simple: instant high availability, reliability, and scalability. IronMQ is a powerful elastic cloud service designed for the modern application stack. There is no installation, no maintenance, no upgrades to worry about, and a lot of 9's in our uptime. RabbitMQ and Redis are good pieces of technology, but as many can attest, they leave much to be desired when it comes to scaling, high availability, and technical erosion.
In addition, with IronMQ you'll get great features only cloud services can add such as beautiful dashboards, reports, alerts, webhooks, continual smarter queue innovation, and more. All of this combined with flexible pricing plans makes IronMQ and Celery a very nice pairing.
Learn More About IronMQ


Setup


Setup in 3 Easy Steps


Install, import, set. IronMQ replaces RabbitMQ/Redis in minutes and you'll never have to worry about maintaining your datastore again.
Reliable


Most Reliable Backend


Runs on top cloud infrastructures and uses multiple high-availability data centers. Uses reliable datastores for message durability and persistence.


Performance


Scalable / High Performance


Built using high-performance languages designed for elastic scale and concurrency running on industrial-strength clouds.
Dashboard


Realtime Monitoring


Get realtime monitoring of your jobs through IronMQ's dashboard. This allows you to quickly find, diagnose, and resolve problems.




3 Easy Steps to Setup IronMQ

Step 1

Install the iron-celery Python module from pip.


  pip install iron_celery

Step 2

Import the module into your Celery application (line 2 below).


  from celery import Celery
  import iron_celery
   
  celery = Celery('tasks', broker='amqp://guest@localhost//')
   
  @celery.task
  def add(x, y):
      return x + y

Step 3

Modify the broker to point to IronMQ (lines 4-5). Retrieve your project ID and token by signing up for an account at Iron.io.


  from celery import Celery
  import iron_celery
   
  celery = Celery('tasks', 
                  broker='ironmq://{iron_project_id}:{iron_token}@')
   
  @celery.task
  def add(x, y):
      return x + y

The Results Store

Many developers want to also keep track of task state and thus need to tell Celery to rely on a datastore. A queue is not the best place to handle this. That's where IronCache comes in. With one configuration change, you can tell Celery to track task state in IronCache so that in a single line of code you've eliminated the need to worry about both your broker and your datastore.

Simply pass in the "backend" variable to your Celery app (line 6):


  from celery import Celery
  import iron_celery
   
  celery = Celery('tasks', 
                  broker='ironmq://{iron_project_id}:{iron_token}@'
                  backend='ironcache://{iron_project_id}:{iron_token}@')
   
  @celery.task
  def add(x, y):
      return x + y

Ready to Start Using IronMQ?

Get Started Now


Or Learn More About IronMQ