Skip to content

Latest commit

 

History

History
26 lines (20 loc) · 1.07 KB

TODO.md

File metadata and controls

26 lines (20 loc) · 1.07 KB

General

  • Tests for the client/worker API layer. (The protocol layer is already fully tested.)
  • Consider supporting the extensions that the C++ gearmand has added.

Server

The server implementation is very much just a proof of concept, it's missing many important things:

  • Server is known to leak memory, track this down.
  • Spooling jobs to disk as they come in, rather then memory (StreamReplay) This should be plugable, with at least memory and disk backends.
  • Job queueing currently involves scanning the entire list of jobs. This is likely a choke point, but load testing is called for first.
  • Admin commmands!
  • Worker failure retries should do the exponential backoff dance, rather then immediately requeueing.

Longer term:

  • Server: Background job durability
  • Client/Worker: Sugar library that adds some basic conventions to make Gearman easier, eg:
    • Consistent job naming, complex data types as arguments, etc.
  • Gearman server clustering--
    • Share responsibility for keeping background jobs in the queue
    • Route jobs to other servers if the local server is overloaded