Resque Free Message Queue Software
Redis-backed queuing system for background processing.
Resque is an open source queueing system backed by Redis. It creates background jobs, places them on multiple queues, and schedules jobs to process later.
Overview
Resque is a Redis-backed simple and open source queuing system for background processing. Background processing is becoming more important as web applications integrate with 3rd Party APIs, run long running requests, perform external data Processing and emails delivery to keep your response times down. Today we are going to cover Resque open source scheduler with Redis to run your resque jobs. Resque simple job runner is widely used as it has a variety of options for configurations and customizations.
Resque job scheduling tool is used for creating background jobs, placing them on multiple queues and then schedule them to happen later. Background jobs can be any ruby class or module which responds the perform method to run process in background. Resque-scheduler is an extension to Resque to add support for queueing system. Resque is inspired by DelayedJob to a great extent. Resque is a distributed job scheduler with 8.9K GitHub stars and 1.6K GitHub forks. If you need multiple queues for your application then Resque open source job scheduler is probably a better choice.
System Requirements
The following key dependency packages are required to install the Resque open source scheduler:
- Ruby: 2.3.0
- Redis: 3.0+
- Rails: 3.x+
- RubyMine editor
- Git
Features
Some of the great features of Resque open source task scheduler are listed below:
- Supports for multiple queues
- Administration interface to monitor workers
- Workers are resilient to memory leaks
- Create, query and process jobs
- Monitoring with monit
- Monitoring of queues, jobs and workers
- Active Job support
- Priorities
- Distributed processing
- Using Redis backend
- Sinatra-based front end to track queues
- Queues are processed by workers
- Persistent queues
- Open source library
Installation Instructions
Install Resque on Ubuntu
Resque open source batch scheduler is simple and easy to get started software. First install the necessary dependencies packages. If you use Debian based distro such as Ubuntu, run below commands in terminal to install and automatically start Redis with Resque open source scheduler on boot:
sudo apt install redis
sudo systemctl enable redis
Next, install resque gem in your project directory or add resque gem to your Gemfile:
gem 'resque'
Now, install it with Bundler:
bundle install
In your Rakefile, or some other file in lib/tasks (ex: lib/tasks/resque.rake), load the resque rake tasks:
require 'resque'
require 'resque/tasks'
Include below line if you want your workers to have access to your application:
require 'your/app'
Resque batch job scheduler workers are rake tasks that run forever. You can starting a worker:
QUEUE=* rake resque:work
You can start multiple workers with:
COUNT=2 QUEUE=* rake resque:workers
If you want your workers to work off of every queue, including new queues created on the fly, you can use:
QUEUE=* rake resque:work
If you’ve installed Resque as a gem running the front end then standalone is easy to run:
resque-web
Press ctrl-c to kill background process all workers. Resque workers support basic logging to STDOUT. You can control the logging threshold in config/initializers/resque.rb
Resque.logger.level = Logger::DEBUG
Now start your application:
rails server
Congratulations! You have successfully installed Resque open source batch scheduler on linux cloud server. Enjoy!
FAQs
What is Resque used for?
Resque ruby library allows you to create background jobs, place jobs on multiple queues, then, pull those jobs off the queues and process them later.
Is Resque free?
Yes, Resque is free to use and install ruby on rails library for creating background jobs.
Is Resque open source?
Yes, Resque is open source software used to create background jobs. Resque source code repository is available at Github.
In what language is Resque written?
Resque is written in Ruby programming languages.
Redis vs Resque | What is the difference?
Redis is an open source in-memory database which can be used as a message-broker and a cache. While Resque is queueing backends Ruby library used for creating background jobs.