У меня есть сервер, на котором работает Beanstalk, и некоторые независимые серверы, на которых работают рабочие в PHP с Pheanstalk.
С того момента, как работник А устроился на работу:
$job = $pheanstalk->watch('tube')
->ignore('default')
->reserve();
$data = json_decode($job->getData(), true);
И в тот момент, когда это удалить работу ($pheanstalk->delete($job);
), это может произойти через несколько десятков секунд.
Знает ли Beanstalk, что задание обрабатывается, и ни у кого другого его не будет, или у меня возникнет проблема с параллелизмом? (два работника берут одну и ту же работу).
Спасибо за помощь.
BeanstalkD знает задание, которое обрабатывается, поэтому оно не будет передавать задание другому работнику во время его обработки.
Других решений пока нет …