2010-04-27 96 views
0

如何从php运行cron作业,并在当时启动cron? 我有一个网站地图脚本,我想转向一个站点地图链接,而不必等待他做他的工作,发送信息来呼叫我的工作角Sitemap。Php run cronjobs

对不起我的英语

回答

1

一个cron作业需要的章节将进入“的cron”时间表在特定时间运行。

我的猜测是你的安装中有一个脚本,通常由cron启动,当你的php程序检测到某些情况时你想启动它。

您需要找出crontab脚本的位置(尝试使用“crontab -e”获取当前定义的cron作业列表),并使用php system()或exec()命令启动它。

2

这完全取决于你的服务器设置,但通常这是不可能的,因为从用户权限等限制纯PHP安装一个cron作业。

此外,我不认为你真的在寻找一个cron作业,而是如何使用exec()来启动一个后台进程。参见例如OP在this question中描述的方法。 PHP手册中的User Contributed Notes to exec()也包含有价值的提示。

1

到的Cron另一种方法是使用Gearman

的Gearman提供了一个通用的应用程序框架的工作外包给那些更适合做这项工作的其他机器或过程。它允许您并行执行工作,负载平衡处理以及在语言之间调用函数。

有一个PHP extension for Gearman,提供了一个API来写客户端和工作。

也看到这四部分组成的系列The Mysteries of Asynchronous ProcessingProcess Control in Pragmatical PHP Programming