【发布时间】:2010-04-27 17:05:53
【问题描述】:
我怎样才能从 php 运行一个 cron 作业,并且 cron 在那一刻开始? 我有一个站点地图脚本,我想转到站点地图链接,而不是等待他完成他的工作,发送信息来呼叫我的工作号站点地图。
对不起我的英语
【问题讨论】:
我怎样才能从 php 运行一个 cron 作业,并且 cron 在那一刻开始? 我有一个站点地图脚本,我想转到站点地图链接,而不是等待他完成他的工作,发送信息来呼叫我的工作号站点地图。
对不起我的英语
【问题讨论】:
这完全取决于您的服务器设置,但由于用户权限和其他限制,通常无法从普通 PHP 安装 cron 作业。
另外,我认为您并不是真的在寻找 cron 工作,而是在寻找如何使用 exec() 启动后台进程。例如,参见 OP 在this question 中描述的方法。 PHP 手册中的User Contributed Notes to exec() 也包含有价值的提示。
【讨论】:
需要将 cron 作业输入到“cron”计划中才能在特定时间运行。
我的猜测是你的安装中有一个脚本通常由 cron 启动,当你的 php 程序检测到某些情况时你想启动它。
您需要找出 crontab 脚本所在的位置(尝试“crontab -e”以获得当前定义的 cron 作业列表)并使用 php system() 或 exec() 命令启动它。
【讨论】:
Cron 的替代方法是使用 Gearman
Gearman 提供了一个通用的应用程序框架,可以将工作分包给更适合完成工作的其他机器或进程。它允许您并行工作、负载平衡处理以及在语言之间调用函数。
有一个 PHP extension for Gearman 提供了一个 API 来编写客户端和工作线程。
另请参阅这四部分系列The Mysteries of Asynchronous Processing 和关于Process Control in Pragmatical PHP Programming 的章节
【讨论】: