Слияние кода завершено, страница обновится автоматически
composer require flc/php-queue
Producer:
/**
* Создание задачи
*/
require_once __DIR__ . '/bootstrap.php';
use Flc\Queue\Manager;
use Jobs\Demo;
// Создание работы
$demo = new Demo('Тестирование');
// Отправка в очередь
for ($i = 0; $i <= 100; $i ++) {
Manager::instance()->push($demo);
}
echo Manager::instance()->count();
Consumer:
/**
* Исполнитель задач (постоянный)
*/
require_once __DIR__ . '/bootstrap.php';
use Flc\Queue\Manager;
use Jobs\Demo;
if ('cli' !== php_sapi_name()) {
die('Необходимо запускать в режиме командной строки');
}
while (true) {
// Извлечение задачи из очереди
$job = Manager::instance()->pull();
// Если нет задачи, то пауза на 2 секунды
if (! $job) {
sleep(2);
continue;
}
try {
call_user_func_array([$job, 'handle'], []);
} catch (Exception $e) {
echo $e->getMessage();
}
}
MIT
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )