-
Notifications
You must be signed in to change notification settings - Fork 28
Home
nicholas harteau edited this page Oct 8, 2010
·
9 revisions
Pogo is an agent-based system for running interruptive commands safely on thousands of machines in parallel.
Users request that a command (or recipe, or script) be executed on a
group of target nodes by issuing new pogo jobs via the pogo
command-line utility. If the job is successfully created on the
dispatcher, the user will receive a job id and a URL in response.
The pogo dispatcher then divides the job up into tasks, one task per target host. The dispatcher computes a task run order and distributes tasks to worker processes. Workers ssh to the target nodes and run the commands specified by the user, reporting progress and status back to the dispatcher.
- Constraint-based execution; fine-grained control over task ordering and parallelism
- Pre & Post-command hooks - automatically sanity-check that the commands that you're running aren't interrupting service
- Recipes & Cookbooks - peer-review and re-use of commands, no more fat-fingering incidents
- Retrying failed tasks
- Redundant operation - no SPOFs
- Snazzy UI