Search code examples
beanstalkdpheanstalk

Beanstalkd tube missing


Integrated Pheanstalk library in my web app. Created three tubes for three type of jobs. Created a beanstalkd web console also to see the job status. All are working fine.

The issue is, today when I checked the console, one of the tubes is missing. I restarted beanstalkd and it appeared and started working again. Why did this happen?


Solution

  • Tubes are created on demand whenever they are referenced. If a tube is empty (that is, it contains no ready, delayed, or buried jobs) and no client refers to it, it will be deleted. -- https://github.com/beanstalkd/beanstalkd/blob/master/doc/protocol.txt

    The tube will be re-created as soon as a new job is put into it. Normally you would watch all of the tube(s) that a particular worker can deal with, and a reserve would return the next job from any of the watched tubes based on the specified ordering, or first-come-first-served, as appropriate.