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

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 关注
  • 394 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信