Work queue library letting you run distributed tasks using a generic abstraction