-
Notifications
You must be signed in to change notification settings - Fork 6
/
README
60 lines (44 loc) · 1.62 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
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
memcached.
it's designed to be as small, simple, and
hackable as possible.
why?
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.
usage
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.
bugs
- 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.
credits
(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