Организация очередей на PHP

Решили использовать Pheanstalk, который представляет собой PHP-клиента для Beanstalk.
Простой, чётко работает, всё построено на иерархии исключений, т.е. легко применять.
Всё сводится к следующему:

$this->queueManager = new Pheanstalk( '127.0.0.1' );
$this->queueManager->useTube('my_jobs_1')->put( $JobData );
$this->job = $this->queueManager->watch('my_jobs_1')->ignore('default')->reserve( 0 ); // 0 - чтобы не ждать, когда появятся новые джобы (чтобы запускать php-скрипт кроном, а не требовать висения в памяти демоном)
$this->queueManager->delete( $this->job );

Для работы должен быть запущен демон Beanstalk:

$ beanstalkd -d

Ещё почитать.
Интересный пример использования Pheanstalk, менее интересный пример.

LEAVE A COMMENT