A minimalistic message queue server, in Go
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


lineup, a tiny queue server

  lineup is a very simple queue server. all it
  does is serve a binary-safe priority queue with
  a simple protocol inspired by redis and
  it's designed to be as small, simple, and
  hackable as possible.

  most of the reasons i made this are personal.
    - i wanted to
    - i learned a lot
  there are some pragmatic reasons too!
    - minimalist codebase
    - i don't agree with how other queue servers
      are implemented (except maybe resque)
    - i didn't make the other ones
  i kept lineup as simple as possible, because it
  needed to be that way. stuff like job timeouts,
  multiple queues, etc. can all be managed by
  client code. if your job takes too long, just
  stop processing and requeue it. want multiple
  queues? run multiple instances of lineupd.
  that's not to say that lineupd is complete, not
  to any degree.

  run lineupd and it will listen on :9876, and
  create a logfile lineupd.log and pidfile
  lineupd.pid. if you want to explicitly set any
  options, there are --port, --logfile, and
  --pidfile command line options. there is also
  the --timeout option, which sets the number of
  seconds to wait to disconnect an idle client.

  - the --daemonize option doesn't work yet. most
    of the code is there, but i can't find a
    plain old fork() call in the go stdlib. help
    here would be great.


  (c) 2009 justin poliey http://justinpoliey.com
  inspired by:
    redis http://code.google.com/p/redis
    memcached http://memcached.org
    beanstalkd http://kr.github.com/beanstalkd
    suckless http://suckless.org