【问题标题】:running a php task every 24 hours每 24 小时运行一个 php 任务
【发布时间】:2010-10-05 05:03:49
【问题描述】:

我有一些函数使用 curl 从几个站点中提取信息并将它们插入到我的数据库中。我只是想知道每 24 小时执行一次这项任务的最佳方法是什么?

我现在正在关闭 Windows,但一旦我上线可能会切换到 linux(如果这会有所不同)。我现在在 symfomy 框架内工作。

我听说 cronjobs 可以做到这一点...但是看看该站点,它似乎可以远程工作,我宁愿把东西留在家里...我可以在我的计算机上“运行服务”吗?不管那是什么意思;)(听说过)

感谢您的帮助, 安德鲁

【问题讨论】:

    标签: php service cron scheduled-tasks


    【解决方案1】:

    这正是 Cron (linux) 或计划任务 (windows) 的用途。

    您可以在应用程序服务器上运行它们以将所有内容保存在一个位置。

    例如,我在我的家庭服务器上运行了一个 cron 来每天备份它的 MySQL 数据库。这个过程只涉及一个系统。

    【讨论】:

      【解决方案2】:

      0 0 * * * php /path/to/your/cronjob.php 添加到您的crontab 应该可以完成此操作。

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          【解决方案4】:

          如果您认为 cron 或 windows 调度程序不合适,我有时会发现编写一个执行相同操作的快速 Java 应用程序很方便:

          您可以拨打电话System.getRuntime().exec("cmd line stuff here");。然后,您可以在 TimerTask 中扭曲该操作。最后,通过添加 TimerTasks 并指定时间和频率等来启动 Timer 对象...

          这显然比上面提到的例子更复杂,但我喜欢它,因为你可以投入一些智能错误处理,并在出现问题时向自己发送电子邮件警报等。

          可能有点矫枉过正,但如果您要处理多个此类操作,可能值得一看。

          斯威尼

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2012-09-02
            • 2020-09-11
            • 2020-10-23
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2021-11-14
            相关资源
            最近更新 更多