Search

Suggested keywords:
  • Java
  • Docker
  • Git
  • React
  • NextJs
  • Spring boot
  • Laravel

Faktory - "Takin' care of business, workin' overtime"

  • Share this:
post-title
At a high level, Faktory is a work server. It is the repository for background jobs within your application. Jobs have a type and a set of arguments and are placed into queues for workers to fetch and execute.You can use this server to distribute jobs to one or hundreds of machines. Jobs can be executed with any language by clients using the Faktory API to fetch a job from a queue.

Faktory is a server daemon which provides a simple API to produce and consume background jobs. Here's the chatter to create and execute a background job. Jobs are a small JSON hash with a few mandatory keys. Producers PUSH a job to a queue. Consumers FETCH jobs from queues, process them and then either ACK (success) or FAIL the job. Faktory will store and re-enqueue failed jobs over time just as Sidekiq does (these are called "retries"). Networks fail and bugs happen, job retries are critical to a "self-healing" production environment.

Many existing job systems provide no persistence or a simple binlog which can be replayed in case of crash. Faktory goes further and provides the same job persistence, state management and monitoring Web UI that Sidekiq does. It uses Facebook's high-performance RocksDB embedded datastore internally to persist all job data, queues, error state, etc. It exposes a Web UI (which is similar to Sidekiq's), allowing you to see the current state of your queues, jobs and workers.
http://contribsys.com/faktory/
https://github.com/contribsys/faktory
License:
Tech: