beanstalkd
đź”—Beanstalkd
Beanstalkd is a big to-do list for your distributed application. If there is a unit of work that you want to defer to later (say, sending an email, pushing some data to a slow external service, pulling data from a slow external service, generating high-quality image thumbnails) you put a description of that work, a “job”, into beanstalkd. Some processes (such as web request handlers), “producers”, put jobs into the queue. Other processes, “workers”, take jobs out of the queue and run them. https://github.com/kr/beanstalkd/wiki/FAQ
đź”—High availability
Put the instances behind a load balancer, HAProxy and
run beanstalk with option -b
:
beanstalkd -b /home/beanstalkd/queue
/home/beanstalkd/queue needs to be an existing directory
The option -b
will write all jobs to a binlog, if the power goes out, you can
restart beasntalkd with the same option and it will recover the contents of the
log.
đź”—immortalizing beanstalkd
cmd: beanstalkd -V -b /home/beanstalkd/queue
log:
file: /var/log/beanstalkd.log
age: 86400
num: 7
size: 1
đź”—port 11300
Beanstalkd by default listen on port 11300