为了账号安全,请及时绑定邮箱和手机立即绑定

PHP 是否可以限制函数执行时间?

PHP 是否可以限制函数执行时间?

PIPIONE 2019-04-13 08:46:46
PHP是否可以限制函数执行时间,以使下列伪代码的功能得以实现?foreach($jobsas$job){try{run($job);}catch(TimeoutException$e){printf("Timeout:%s\n",$e->getMessage());continue;}}functionrun($job){//ssh,HTTPrequest,ConnectDBetc.}
查看完整描述

2 回答

?
慕虎7371278

TA贡献1802条经验 获得超4个赞

//设置闹钟信号处理,抛异常退出循环
declare(ticks=1);
pcntl_signal(SIGALRM,function(){thrownewException('process_timeout');});
//设置闹钟,5秒超时
pcntl_alarm(5);
$jobs=array_fill(0,1000,'job');
foreach($jobsas$job){
try{
run($job);
}catch(Exception$e){
printf("Timeout:%s\n",$e->getMessage());
exit;
}
}
functionrun($job){
//ssh,HTTPrequest,ConnectDBetc.
sleep(1);
}
                            
查看完整回答
反对 回复 2019-04-13
?
www说

TA贡献1775条经验 获得超8个赞

推荐你一个框架swooole
看你代码就是要处理一个花费时间比较长的任务
swoole里的task,提交过去一个任务,立即返回,任务在后台自动运行,不用关注运行时间
设置了set_time_limit()会使任务无法完成
                            
查看完整回答
反对 回复 2019-04-13
  • 2 回答
  • 0 关注
  • 432 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号