hand slow work to a pool of workers: a distributed job queue that ships closed, bound to loopback rather than the internet
Gearman is a mature, language agnostic job server. Your application hands a unit of work to the job server, the job server hands it to whichever worker process is free, and the result comes back to the caller. Workers can be written in a different language from the client, can run on a different machine, and can be added or removed while the system is running. It is the established answer to work that is too slow to do inline, and to spreading that work across a pool of machines. Background jobs are accepted and returned immediately, then picked up by a worker whenever one is free.
Gearman has no authentication and no access control, so anything that can reach its port can submit jobs, drain the queue and register itself as a worker. The cloudimg image inverts that default: the job protocol is bound to loopback only, the recommended security group never opens it to the internet, and the image is verified at build time to prove nothing unexpected is listening on a public address. Widening access to your own private subnet is a documented, deliberate change. Background jobs are written to a persistent queue on its own resizable data volume rather than the operating system disk, so accepted work survives a restart. A read only status console is served over TLS behind a password generated uniquely on first boot and stored bcrypt hashed, with a separate unauthenticated health endpoint for load balancer probes. Every image is paired with a step by step deploy guide and 24/7 support.
Real screenshots taken while testing this image against its deployment guide.
This is a repackaged open source software product wherein additional charges apply for cloudimg support services.
## Gearman Job Server - Secure Distributed Job Queue by cloudimg
Gearman is a mature, language-agnostic job server that lets your application hand a
unit of work to the server, distribute it to whichever worker process is free, and
return the result to the caller. Workers can be written in a different language from
the client, can live on a different machine, and can be added or removed while the
system is running. It is the proven answer to "this request is too slow to do inline"
and to "spread this work across a pool of machines".
## The Problem This Image Solves
Upstream Gearman has no authentication and no access control of any kind. Every client
that can open a TCP connection to port 4730 can submit jobs, read the queue, and
register itself as a worker for any function - including functions your own application
defines. An internet-reachable Gearman job server is an open remote-execution surface,
and stock packages happily bind it to every interface.
## Closed by Default - Security Without Manual Hardening
This image inverts that dangerous default:
can reach port 4730 until you deliberately change it.
never opened to the internet by this product.
two-step change described in the deployment guide, with the matching security group
advice, so widening access is always a decision rather than an accident.
a non-loopback address.
## Durable Queue on Dedicated Amazon EBS Storage
Background jobs are written to an on-instance persistent queue so work accepted before
a restart is replayed after it rather than lost. The queue lives on its own dedicated
Amazon EBS volume mounted at the job server data directory - independently resizable,
snapshotable, and separate from the operating system disk. This is the layout you would
build by hand for a production deployment, ready from first boot.
## Encrypted Status Console With Per-Instance Credentials
A read-only status console is served over HTTPS. It shows live queue depth, registered
functions, connected worker count, and running version - the numbers you need for
capacity planning and alerting without exposing the job protocol itself. The console is
protected by HTTP basic authentication whose password is generated uniquely for your
instance on first boot, hashed with bcrypt, and never shared between instances. A
separate unauthenticated health endpoint is provided for load balancer and monitoring
probes so you never have to weaken the console to get a health check.
## Ready To Use
console are installed, wired together and managed by systemd
and writes both to a root-only credentials file
existing workers connect without code changes
the queue, exposing the job server to your own subnet, and monitoring
## Use Cases
rendering, report generation and mail delivery handled by a worker pool instead of
blocking the request
workers on many hosts, with workers added and removed at runtime
another, over a stable wire protocol
applications already speak, running on current, patched infrastructure
## Deployment Notes
trusted networks
private subnet, against the one job server
## cloudimg Support - 24/7
24-by-7 technical support by email and live chat covering deployment, exposing the job
server to your own subnet, worker connectivity, queue persistence, status console
access, monitoring and sizing guidance.
Gearman is distributed under the BSD 3-Clause License. All product and company names
are trademarks or registered trademarks of their respective holders. Use of them does
not imply any affiliation with or endorsement by them.