Linux

Where Does beanstalkd Store Jobs?

beanstalkd keeps jobs in memory unless binlog is enabled. WAL files land in the path set with -b flag.

Last updated

beanstalkd is in memory by default. Jobs vanish on restart unless you enable the binlog with the -b flag. That flag sets a directory for write ahead log files.

There is no config file in most packages. Options come from systemd units or command flags. Logs go to syslog or journal. For durable queues, the binlog path is the location that matters. Keep the binlog folder on persistent disk, since tmpfs or container layers drop queued jobs on every restart. Test queue depth after restart, since clients reconnect faster than workers drain old jobs.

Where beanstalkd stores this, by platform

Linux
/var/lib/beanstalkd

Write ahead logs for queued jobs. Created only when -b is set. Back up with the service stopped for consistency.

Linux
/etc/systemd/system/beanstalkd.service

Startup flags including -b binlog path and -f fsync interval. Edit then daemon reload and restart the service.

Frequently asked questions

how do i enable beanstalkd persistence

Start beanstalkd with -b /var/lib/beanstalkd -f 512 or similar. Without -b, restarts drop all queued jobs. Keep the folder on persistent disk, not tmpfs.

where are beanstalkd binlog files

Binlog files land in the -b directory. They replay on startup. Back them up with the service stopped. Version mismatches can prevent replay. Monitor disk use since busy queues grow logs quickly.

Notice an outdated path? Let us know.