2016-11-03 8 views
0

Я использую gearman как интерфейс между C++-приложением и PHP-приложением. Мои задания зависят от заказа. С очередью в памяти они выполнялись в том же порядке, в котором они были добавлены (по 1 работнику certanly). Я хочу сохранить свою очередь. Будет ли ретранслятор выполнять задания в постоянной очереди в том же порядке, в каком они были добавлены после сбоя или перезагрузки?Будет ли ретранслятор выполнять задания точно в том же порядке после перезапуска?

ответ

0

It на самом деле. Он продолжится там, где он остановился, и попытайтесь закончить оставшиеся задания. В зависимости от вашего проекта и очереди ... вам может потребоваться добавить failafes для работы, которая фактически не удалась. В зависимости от того, где была разбита ваша работа, он мог уже иметь письменные данные (например, в базе данных), но повторит попытку, если задание перезагрузится.

цитаты из официального доку

Если сбой сервера через работу или перезапуск между этими двумя вызовами для задания, задания перезагружаются при следующем запуске сервера задания. Когда запускается сервер заданий , он вызовет функцию обратного вызова повтора в модуле , чтобы предоставить список всех заданий, которые были неполными. Это значение используется для заполнения очереди внутренней памяти заданий для запуска. Как только этот повтор завершен, сервер задания завершает свою инициализацию , и задания теперь выполняются после подключения рабочих (очередь должна быть в том же состоянии, что и при ее сбое).