Skip to content

Basic Setup

akshat edited this page Nov 1, 2022 · 8 revisions

Goose helps scale an application by enabling background processing. Infra consists of 3 parts:

Client

Goose client enqueues jobs to be performed asynchronously, at a scheduled time or periodically. It is typically called from an application server.

The client serializes a function, it's args & other options like retry, schedule, cron-schedule, etc. & pushes/produces it to a message broker.

Message Broker

A pluggable store that facilitates transfers between client & worker.

Goose natively supports RabbitMQ & Redis. Users can integrate their implementation a broker on top of Amazon SQS, Postgres, etc. as well.

Worker

Goose worker dequeues jobs & executes them. Depending on the broker, a worker will have to perform additional tasks including but not limited to: enqueue scheduled & periodic jobs due for execution, retry failed jobs, replay orphan jobs, etc.

Clone this wiki locally