2016-07-06 3 views
0

Я начал использовать Gearman для выполнения задач несколькими работниками. Я получаю следующее сообщение:Что вызывает сообщение «Warning: GearmanClient :: runTasks(): Не удалось вызвать функцию в ...»?

Предупреждение: GearmanClient :: runTasks(): Не удалось вызвать функцию в PHP .... в строке 192.

Номер строки 192 содержит следующее: класс Client расширяет \ GearmanClient { // ... $ this-> setCompleteCallback (...); $ this-> addTast (...); // ... $ this-> addTast (...); $ this-> runTasks(); // это строка # 192 // ... }

В чем причина этого сообщения?

ответ

0

После некоторого расследования выяснилось, что функция обратного вызова, которая вызывается, когда работник заканчивает свою задачу, ну, это вызывает проблему.

Если есть исключение, вызванное функцией обратного вызова, оно вызывает вышеуказанное сообщение.

Решение заключалось в изменении функции обратного вызова, которая должна была собирать результаты каждого работника. Теперь вместо исключения исключения он сохраняет описание проблемы в списке результатов.