如何让我的员工要求更多的工作时间?
我正在使用pheanstalk库。工作是对文件的解析,根据文件的不同,可能需要超过60秒,这是默认的ttr。
while( $job = $pheanstalk->watch($tubeName)->reserve() ){
// get the job body
$parserExec = unserialize( $job->getData() );
// execute parser - will take more than 1 min most of the time
exec( $parserExec['command'] );
// rest of the stuff - delete job etc
}我是个排队新手,我一直在浏览我在网上找到的例子。如果我做错了,请告诉我。我尝试获取jobstats并根据时间剩余值编写一个条件,但我无法使其工作。当我在pheanstalk中使用jobStats函数时,结果是一个私有对象数组。我想要的是让脚本等待,直到执行完成,无论这可能需要很长时间。
发布于 2015-04-17 00:25:11
您有两个选项可以延长工作时间。第一个选项是在将作业插入队列时设置您自己的TTR值。默认值是1分钟,但您可以将其设置为您需要的任何值。这可能是您最好的选择。假设您使用pheanstalk创建您可以完成的工作
$pheanstalk->putInTube(tube, data, priority, delay, ttr) or $pheanstalk->put(data, priority, delay, ttr);
您可以调用$pheanstalk->touch($job),它将重置您的TTR上的倒计时,但您仍然会被限制为设置的TTR值,在您的情况下是1分钟。
https://stackoverflow.com/questions/28903796
复制相似问题