Sign-up for Free!

IronMQ

The Message Queue for the Cloud
IronMQ

An easy-to-use highly available message queuing service. Built for distributed
cloud applications with critical messaging needs. Provides on-demand message
queuing with HTTPS transport, one-time FIFO delivery, message persistence,
and cloud-optimized performance.

Code Samples Easy to use. Support for every language under the sun.

  • Push a Message
  • Get a Message
  • Delete a Message
  • cURL
  • Ruby
  • Python
  • PHP
  • Java
  • Clojure
  • .NET
  • Go
  • API
  • cURL
  • Ruby
  • Python
  • PHP
  • Java
  • Clojure
  • .NET
  • Go
  • API
  • cURL
  • Ruby
  • Python
  • PHP
  • Java
  • Clojure
  • .NET
  • Go
  • API
# Put a message on the queue
curl -H "Authorization: OAuth TOKEN" -H "Content-Type: application/json" \
-d '{"messages":[{"body":"hello world!"}]}' \
"https://mq-aws-us-east-1.iron.io/1/projects/PROJECT_ID/queues/my_queue/messages"
  
	# Establish a client and put a message on the queue
	@ironmq = IronMQ::Client.new()
	@queue = @ironmq.queue("test_queue")
	@queue.post("hello world!")
  
    # Establish a client and put a message on the queue
    ironmq = IronMQ()
	queue = ironmq.queue("test_queue")
	queue.post("hello world!")
  
    // Establish a client and put a message on the queue
	$ironmq = new IronMQ();
	$ironmq->postMessage("test_queue", "Hello world!");
  
    // Establish a client and put a message on the queue
	Client client = new Client("{PROJECT_ID}", "{TOKEN}", Cloud.IronAWSUSEast);
	Queue queue = client.queue("test_queue");
	queue.push("Hello world!");
  
    ; Establish a client and put a message on the queue
	(def client (mq/create-client "{TOKEN}" "{PROJECT_ID}"))
	(mq/post-message client "test_queue" "Hello world!")
  
	// Establish a client and put a message on the queue
	Client client = new Client("{PROJECT_ID}", "{TOKEN}");
	Queue queue = client.queue("test_queue");
	queue.Push("Hello world!");
  
    // Establish a client and put a message on the queue
	client := ironmq.NewClient("{PROJECT_ID}", "{TOKEN}", ironmq.IronAWSUSEast)
	queue := client.Queue("test_queue")
	id, err := queue.Push("Hello world!")
  
    POST /projects/:project_id/queues/:queue_name/messages
    {
      "messages": [
      { "body": "This is my message" }
      ]
    }
  
# Get a message
curl -H "Authorization: OAuth TOKEN" -H "Content-Type: application/json" \
"https://mq-aws-us-east-1.iron.io/1/projects/PROJECT_ID/queues/my_queue/messages"
  
    # Get a message
	msg = @queue.get()
  
    # Get a message
	msg = queue.get()
  
    // Get a message
	$ironmq->getMessage("test_queue");
  
    // Get a message
	Message msg = queue.get();
  
    ; Get a message
	(let [msg (mq/get-message client "test_queue")])
  
	// Get a message
	Message msg = queue.get();
  
    // Get a message
	msg, err := queue.Get()
  
	  
    GET /projects/:project_id/queues/:queue_name/messages
  
# Delete a message
curl -H "Authorization: OAuth TOKEN" -H "Content-Type: application/json" -X DELETE \
"https://mq-aws-us-east-1.iron.io/1/projects/PROJECT_ID/queues/my_queue/messages/MESSAGE_ID"
  
    # Delete a message
	msg.delete
  
    # Delete a message
	queue.delete(response["messages"][0]["id"])
  
    // Delete a message
	$ironmq->deleteMessage($msg->id);
  
    // Delete a message
	queue.deleteMessage(msg);
  
    ; Delete a message (after getting it first)
	(let [msg (mq/get-message client "test_queue")]
	  (mq/delete-message client "test_queue" msg))
  
	// Delete a message
	queue.deleteMessage(msg);
  
    // Delete a message
	err := msg.Delete()
  
	  
    DELETE /projects/:project_id/queues/:queue_name/messages/:message_id
  

Features

  • Read-to-use-featureReady to Use

    Connect to IronMQ endpoints and you’re ready to create queues and send and receive messages. Perfect for doing more things asynchronously.

  • Durable-featureHigh Availability

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

  • Real-time-featureEssential Features

    Supports a rich set of features including Push Queues, Error Queues, Alerts and Triggers, an advanced HUD/Dashboard, and more.

  • Delivery-featureOne-Time FIFO Delivery

    IronMQ makes sure messages get delivered once and only once and in the order queued – essential requirements for critical messaging needs.

  • Secure-featureSecure Gateways/OAuth

    Uses HTTPS and SSL to provide secure gateways for managing queues and handling messages. OAuth provides flexibility, scalability, and security.

  • Scalable-featureScalable/High Performance

    Written with elasticity and scale at its core. Built using Go, a high-performance language designed for concurrency. Runs on industrial-strength clouds.

  • Interoperable-featureHTTP/REST-Based

    Uses HTTP/REST-based APIs for simple and efficient cloud use. Built with MQ standards in mind, which means no lock-in and maximum flexibility.

  • Interfaces-featureMultiple Language Bindings

    Make use of a large set of IronMQ language libraries including Ruby, PHP, Python, Java, Go, .NET, Node.js, and more. Also supports Beanstalkd interfaces.

  • Affordable-featureEnterprise/Carrier-Grade Options

    Enterprise- and carrier-grade options available including isolated and private clusters and on-premise versions with SLA and Tier 1 support available.

 

Comparison Matrix How IronMQ compares with other MQ systems.

IronMQ Amazon SQS Beanstalkd RabbitMQ Redis
High Performance Message Queue YES YES YES YES NO
MQ as a Service
(no maintenance)
YES YES NO NO NO
High Availability YES YES NO NO NO
Unlimited Queues YES YES NO NO NO
Elastic
(limitless messaging)
YES YES NO NO NO
Persistent
(never lose messages)
YES YES NO NO NO
Redundant/Failover YES YES NO NO NO
Backed Up YES YES NO NO NO
Shareable YES NO NO NO NO
First-In First-Out YES NO YES YES YES
One-Time Delivery YES NO YES YES YES
Publish/Subscribe YES NO NO YES YES
Push Queues YES NO NO NO NO
Error Queues YES NO NO NO NO
Alerts and Triggers YES NO NO NO NO
Webhook Support YES NO NO NO NO
Multi-Cloud YES NO NO NO NO
Dashboard YES NO NO YES NO
Reporting & Analytics YES NO NO NO NO
Email Reports YES NO NO NO NO
CORS Support YES NO NO NO NO
Message Transports HTTPS &
Beanstalk
HTTPS Beanstalk Socket-based
AMQP
Socket-based
Authentication OAuth2 AWS IAM None SASL Password

Screenshots Our HUD/Dashboard helps you manage your queues and messages.

Start queuing now for Free!

Get 10 million requests free every month – No credit card needed