Sidekiq

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Sidekiq
Developer{{#statements:developer|from=Q51002502}}
Initial releaseFebruary 5, 2012; 14 years ago (2012-02-05)[1]
Repository
  • {{URL|example.com|optional display text}}Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
Written in{{#statements:P277|from=Q51002502}}
Engine
    Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
    Operating systemCross-platform
    Available inEnglish
    TypeWorking queue
    LicenseLGPLv3

    Lua error in mw.title.lua at line 392: bad argument #2 to 'title.new' (unrecognized namespace name 'Portal'). Sidekiq is an open source background job framework written in Ruby.[2]

    Architecture

    [edit | edit source]

    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

    [edit | edit source]

    Sidekiq uses an Open Core business model to provide sustainability for the open source project.[3] 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.

    Reception and use

    [edit | edit source]

    Sidekiq is described as “well-known queue processing software”.[4]

    It's used by Ruby applications like Mastodon, Diaspora,[5] GitLab and Discourse, that need to run tasks in the background, without making web requests wait. Sidekiq is also used to submit threads to the PHASTER phage search tool.[6]

    References

    [edit | edit source]
    1. ^ v0.5.0
    2. ^ https://sidekiq.org/
    3. ^ https://codecodeship.com/blog/2023-04-14-mike-perham
    4. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    5. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    6. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).