MCPcopy Index your code
hub / github.com/contribsys/faktory

github.com/contribsys/faktory @v1.9.4 sqlite

repository ↗ · DeepWiki ↗ · release v1.9.4 ↗
1,491 symbols 4,633 edges 95 files 113 documented · 8%
README

Faktory CI Go Report Card

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.

webui

Basic Features

  • Jobs are represented as JSON hashes.
  • Jobs are pushed to and fetched from queues.
  • Jobs are reserved with a timeout, 30 min by default.
  • Jobs FAIL'd or not ACK'd within the reservation timeout are requeued.
  • FAIL'd jobs trigger a retry workflow with exponential backoff.
  • Contains a comprehensive Web UI for management and monitoring.

Installation

See the Installation wiki page for current installation methods. Here's more info on installation with Docker and AWS ECS.

Documentation

Please see the Faktory wiki for full documentation.

Support

Open up a Discussion or Issue.

Author

Mike Perham, @getajobmike, mike @ contribsys.com

Extension points exported contracts — how you extend this code

Closeable (Interface)
Closeable interface describes a closable implementation. The underlying procedure of the Close() function is determined [9 …
internal/pool/pool.go
MutateClient (Interface)
Commands which allow you to perform admin tasks on various Faktory structures. These are NOT designed to be used in busi [1 …
client/mutate.go
Taskable (Interface)
(no doc) [3 implementers]
server/task_runner.go
Fetcher (Interface)
(no doc) [3 implementers]
manager/fetch.go
KnownError (Interface)
A KnownError is one that returns a specific error code to the client such that it can be handled explicitly. For exampl [1 …
manager/manager.go
Dialer (Interface)
Dialer is the interface for creating a specialized net.Conn.
client/client.go
Redis (Interface)
(no doc) [2 implementers]
storage/types.go
KV (Interface)
(no doc) [1 implementers]
storage/raw.go

Core symbols most depended-on inside this repo

t
called by 197
webui/static/dashboard.js
Size
called by 165
storage/types.go
Error
called by 79
manager/manager.go
u
called by 76
webui/static/dashboard.js
n
called by 60
webui/static/dashboard.js
String
called by 58
server/config.go
Run
called by 55
webui/web.go
NewJob
called by 54
client/job.go

Shape

Function 787
Method 578
Struct 56
Class 38
Interface 19
TypeAlias 7
FuncType 6

Languages

TypeScript54%
Go46%

Modules by API surface

webui/static/dashboard.js432 symbols
webui/static/application.js374 symbols
storage/types.go56 symbols
client/client.go43 symbols
webui/helpers.go38 symbols
manager/manager.go38 symbols
webui/web.go27 symbols
storage/sorted_redis.go24 symbols
server/server.go20 symbols
storage/redis.go19 symbols
client/mutate.go19 symbols
storage/queue_redis.go18 symbols

Dependencies from manifests, versioned

github.com/cespare/xxhash/v2v2.2.0 · 1×
github.com/dgryski/go-rendezvousv0.0.0-2020082301473 · 1×
github.com/pmezard/go-difflibv1.0.0 · 1×
gopkg.in/yaml.v3v3.0.1 · 1×

For agents

$ claude mcp add faktory \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact