curl+crontab实现计划任务

  • 2016-01-25
  • 1255
  • 1

长时间执行的任务不适合放在PHP中执行应当放在任务调度系统或消息系统中由后台程序去执行,但是有时候还是需要在PHP中执行下长时间的任务 ,并且客户端不需要返回值。

实现的思路大体如下:首先客户端发起一个不需要等待返回的请求,服务器端则需要忽略请求中断和执行时间,以免中途退出。

在此整理下我部门的计划任务整体实现思路:

1、添加定时任务

具体的类:

 

2、curl执行http://localhost/TimingInterface/addTimingTask 该接口,将任务添加到数据库中。

 

3、crontab执行http://localhost/Action/Function?p=’.$p;//目标url

 

#每分钟执行http://192.168.84.174:9502/TimingTask/doload目标url

//执行时还是采用curl,如果任务非常多,可用多线程curl并发执行。(网上应有开源类库)

执行http://localhost/Action/Function?p=’.$p;//目标url

 

附crontab基本操作:

 


上一篇:  下一篇:

评论

  • 梯子铺回复

    我自己就是直接用LINUX的定时任务,然后用LINUX的CURL 去调用一个API,这个API的路径只有我自己知道。哈哈

Copyright © 2014-2016 lxlxw All Right Reserved