Beanstalk içindeki reserved ve buried işler arasındaki fark aşağıda belirtildiği gibi basittir.


Reserved


Bir iş "reserved" (işin işi işleyecek olan koda ulaşamaması durumunda olur - aşağıdaki örnek PHP kodu ile oluşur) olarak işaretlenmiş ise, işin işlenmesi için terminalde extradan işleyici çalıştırmanız gerekecektir. Eğer bunu yapmazsanız, hem daha önceden "reserved" olarak işaretlenmiş işler, hem de yeni gelecek olan işler sırada bekletilecektir.


$tube = 'say_hello';
$watchTimeout = 60; // Reserve for 60 seconds before trying again
$this->pheanstalk->watch($tube)->ignore('default')->reserve($watchTimeout);

Buried


Bir iş "buried" (işin işlerken oluşan hata durumlarıda olur - aşağıdaki örnek PHP kodu ile oluşur) olarak işaretlenmiş ise, işin işlenmesi için el ile işi sıraya tekrar koymanız gerekir. Eğer bunu yapmazsanız, problem olmaz çünkü yeni gelecek olan işler sırada bekletilmeyecektir.


$tube = 'say_hello';
$watchTimeout = 60; // Reserve for 60 seconds before trying again
$job = $this->pheanstalk->watch($tube)->ignore('default')->reserve($watchTimeout);
$this->pheanstalk->bury($job);

Sonuç


Tüm yapmanız gereken: Eğer sırada "reserved" iş varsa, terminalde extradan işleyici çalıştırın. Eğer sırada "buried" iş varsa, el ile işi sıraya tekrar koyun.