怎么通过外部浏览器触发linux 服务器执行脚本?

场景描述:
有些耗时任务是交给服务器执行php脚本的,有时候在后台发现统计数据异常的时候,可能想要再次执行那个脚本。
问题: 有没有什么办法可以触发服务器执行那个脚本而不是通过web服务器处理这个耗时的业务。

或者说对于那些大公司,怎么处理类似的情况的呢?

阅读 4.1k
3 个回答

我想你需要的是后台队列任务。

可以看一下php resque

或者简单点的思路

可以写个server端,接受请求(可以是http协议或是二进制协议),根据请求的参数,fork一个进程执行某个脚本

  1. 使用system(),exec()类似的函数直接调取系统命令执行对应脚本 注意权限问题

  2. 在服务器中维护常住进程,php将需要处理的数据放入内存或者数据库.由常驻进程读取然后执行对应任务

  3. 和第二个差不多,只是将常驻进程修改为定时执行脚本

小业务用1和3都可以
大业务用2,搜索队列服务或者是分布式队列服务

linux 有个定时器,你百度一下->linux crontab
应该可以解决你的问题

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题