什么导致“警告:GearmanClient :: runTasks():无法调用......中的函数”消息?
问题描述:
我开始使用Gearman通过几名工人来运行任务。我得到以下信息:什么导致“警告:GearmanClient :: runTasks():无法调用......中的函数”消息?
警告:GearmanClient :: runTasks():无法调用PHP ....功能上线192
行号192包含此: 类客户端扩展\ GearmanClient { // ... $ this-> setCompleteCallback(...); $ this-> addTast(...); // ... $ this-> addTast(...); $ this-> runTasks(); //这是行#192 // ... }
此消息的原因是什么?
答
经过一番调查发现,当工人完成他的任务时调用的回调函数,它会导致问题。
如果从回调函数抛出异常,则会导致上述消息。
解决方法是更改回调函数,即收集每个工人的结果。现在,不是抛出异常,而是将问题的描述存储在结果列表中。