0
我有一臺運行Beanstalk的服務器,以及一些使用Pheanstalk在PHP中運行worker的獨立服務器。Beanstalk在集中式服務器中,如何避免工人重複工作?
的那一刻起成爲工人的找到工作:
$job = $pheanstalk->watch('tube')
->ignore('default')
->reserve();
$data = json_decode($job->getData(), true);
的那一刻起它刪除作業($pheanstalk->delete($job);
),它可以發生幾十秒鐘。
Beanstalk知道工作正在處理中,沒有其他工人會擁有它,否則我會遇到併發問題? (兩名工作人員參加相同的工作)。
謝謝你的幫助。
你的回答正是我想聽到的,但是你有鏈接來確認你的答案嗎? –
作業保留後,其狀態更改爲_reserved_。 「保留」命令僅提供_ready_狀態的作業。 https://github.com/kr/beanstalkd/blob/master/doc/protocol.txt –
完美!謝謝 :) –