Skip to content
evangoer edited this page Oct 13, 2010 · 9 revisions

Pogo

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(1) 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.

Pogo jobs usually run under user-specified constraints. For example, you can instruct pogo to make sure that no more than 25% of your web front end servers are down at any one time, or that hosts must be restarted in a particular order.

Features

Components

Clone this wiki locally