Sidekiq
From Wikipedia, the free encyclopedia
Sidekiq is an open source background job framework written in Ruby.[3]
| Sidekiq | |
|---|---|
| Developer | Mike Perham |
| Initial release | February 5, 2012[1] |
| Stable release | |
| Written in | Ruby |
| Operating system | Cross-platform |
| Available in | English |
| Type | Working queue |
| License | LGPLv3 |
| Website | sidekiq |
| Repository | |
Architecture
Sidekiq uses Redis for its persistent data store. Each job is stored as a map of key/value pairs, serialized using JSON. Developers can use any programming language to create jobs by constructing the necessary JSON and pushing it into the queue in Redis. A Sidekiq process reads jobs from that Redis queue, using the First In First Out (FIFO) model, and executes the corresponding Ruby code. Job processing is asynchronous, allowing a web-serving thread to continue serving new requests rather than be blocked processing slower tasks.
Sidekiq can be used standalone, or integrated with a Ruby on Rails web application. Sidekiq is multithreaded so multiple jobs can execute concurrently within one process. A large scale application may have dozens or hundreds of Sidekiq processes executing thousands of jobs per second.
Sidekiq comes with a graphical web interface for inspecting and managing job data.
Business model
Sidekiq uses an Open Core business model to provide sustainability for the open source project.[4] The company behind Sidekiq, Contributed Systems, sells closed-source commercial versions, Sidekiq Pro and Sidekiq Enterprise, which contain additional features not included in the open source version.