每24小时运行一次php任务

7

我有一些使用curl从几个网站上提取信息并将其插入到我的数据库中的函数。我想知道最好的方法是什么,以执行每24小时的任务?

我现在在windows上运行,但一旦我上线(如果有区别的话),我可能会切换到linux。我现在正在symfomy框架内工作。

我听说cronjobs可以做到这一点...但看着这个网站似乎是远程工作,我宁愿把事情留在公司内部...我能在电脑上“运行服务”吗?不管那意味着什么;)(曾听别人使用过)

谢谢任何帮助, Andrew

4个回答

18

这正是 Cron(Linux)或 Scheduled Tasks(Windows)的作用所在。

您可以在应用程序服务器上运行它们,以便将所有内容集中管理。

例如,我在我的家庭服务器上运行一个 Cron,每天备份其 MySQL 数据库。该过程仅涉及一个系统。


7
0 0 * * * php /path/to/your/cronjob.php 添加到您的crontab中即可实现此目的。

1

您可以在cron(或Windows中的计划任务)中设置定时任务。最简单的方法是创建一个shell脚本(在Windows中为批处理脚本),从命令行执行php脚本(这样您就不必使用www服务器资源)。当然,您需要在目标机器上执行该脚本。


0

如果你决定cron或Windows计划程序不适合你的需求,有时编写一个快速的Java应用程序来完成相同的任务会很方便:

你可以使用调用System.getRuntime().exec("cmd line stuff here");。然后你可以将该操作封装在一个TimerTask中。最后,通过添加TimerTasks并指定时间和频率等参数,启动Timer对象。

这显然比上述示例更复杂,但我喜欢它,因为你可以加入一些智能错误处理,并在出现问题时发送电子邮件提醒或类似的内容。

可能有点过度,但如果你需要处理多个此类操作,这可能值得一看。

sweeney


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接