【问题标题】:Schedule the execution of function using CodeIgniter使用 CodeIgniter 调度函数的执行
【发布时间】:2012-05-22 19:57:05
【问题描述】:

我需要每隔几个小时执行一个函数,现在我通过以下方式手动执行:

http://www.mywebsite.com/controller/function

例如,有没有办法安排这个函数每四个小时执行一次?

【问题讨论】:

  • 是的,在 *nix 上使用 cron 作业,或者在 Windows 上使用调度程序。你在哪个平台?就个人而言,我会将其移出网络树并在 CLI 上运行,除非它真的必须在网络环境中运行。
  • 感谢您的回答。我正在使用 Debian Linux。
  • 好吧,那就使用 cron - 如果您在网络上搜索“cron php”,那么会有 加载 的资源。通常也适用于共享帐户。正如我所说,这不应该在网络树中 - 在 CLI 上运行它,所以它看起来像 /usr/local/php /my/path/outside/the/web/tree.php <param>
  • 你说得对,现在这个功能大家都可以执行了……
  • @halfer 只是另一个问题:在包含代码的 .php 文件中,我将能够获得执行此操作的 CodeIgniter 实例“$CI = &get_instance ();” ?

标签: php codeigniter scheduled-tasks


【解决方案1】:

在最好的情况下,您应该在 *NIX 命令行中使用 wget 或 CURL 将 cron 作业设置为每小时请求一次该 URL:

0 1 * * * wget http://www.mywebsite.com/controller/function

由于此 URL 可公开访问,因此使用 http://www.mywebsite.com/controller/function?key=my_secret_key_here 之类的参数对其进行保护

还可以看看这个在线服务:http://cronless.com/

【讨论】:

    猜你喜欢
    • 2016-12-04
    • 2018-05-15
    • 2016-10-02
    • 2019-04-11
    • 1970-01-01
    • 2017-08-04
    • 2016-12-27
    • 2023-03-16
    • 1970-01-01
    相关资源
    最近更新 更多