【发布时间】:2015-05-27 17:54:59
【问题描述】:
我使用beanstalkd 管理队列。我刚刚意识到,如果队列中有作业并且beanstalkd 进程重新启动或崩溃,那么该作业将永远丢失(或者我认为)。
有没有办法在beanstalkd 失败或重新启动时保留队列中的作业?如果没有,有什么最佳做法可以确保永远不会丢失工作?
【问题讨论】:
标签: queue beanstalkd
我使用beanstalkd 管理队列。我刚刚意识到,如果队列中有作业并且beanstalkd 进程重新启动或崩溃,那么该作业将永远丢失(或者我认为)。
有没有办法在beanstalkd 失败或重新启动时保留队列中的作业?如果没有,有什么最佳做法可以确保永远不会丢失工作?
【问题讨论】:
标签: queue beanstalkd
Beanstalkd 可以使用-b (binary log) 选项启动,beanstalkd 会将所有作业写入 binlog。如果断电,您可以使用相同的选项重新启动 beanstalkd,它将恢复日志的内容。
【讨论】:
beanstalkd 作为服务启动时如何添加-b 选项?
/etc/default/beanstalkd,如下所示:DAEMON_OPTS="(your current options) -b /var/lib/beanstalkd"