【问题标题】:Scheduling a task in PHP MVC Codeigniter在 PHP MVC Codeigniter 中调度任务
【发布时间】:2013-10-28 15:24:02
【问题描述】:

我想安排一个任务,它是 MVC CodeIgniter 中的控制器方法。此外,我想在我的 Web 应用程序中添加选项,以便管理员更改计划,而不是手动处理 Windows 任务计划程序。我找到了一些 PHP Web Form scheuler 的示例,但没有找到 MVC CodeiIgniter 的示例!你能在这方面指导我吗?

如果我的问题不清楚,请告诉我您需要进一步澄清的部分!

非常感谢,

【问题讨论】:

  • 对不起,我忘了说我需要 Windows 服务器! Cron 是用于 Linux 的,对吗?
  • 你看过atrigger.com吗?独立于平台。
  • 哦,好兄弟!看起来不错!我会试试看! :-)

标签: php codeigniter scheduled-tasks scheduler


【解决方案1】:

首先,调度任务是一项基于操作系统的操作,因此除非您拥有服务器的完全权限,否则您无法通过应用程序控制它,但是有一些方法可以实现这一点 Check this article 它将帮助您了解 CI 如何控制 cron 作业。

如果您想通过您的应用程序更改/创建 cron 作业的时间,那么您可以使用 exec function 它将在 Windows 的 shell 中执行您传递的命令,但请记住,此功能仅在您的托管服务提供商启用它或您有权使用此功能时才有效,并且此 answers 将告诉您如何使用计划任务(CronJob ) 在 Windows 上通过命令行。

【讨论】:

    【解决方案2】:

    这样做,

    在 config/routes.php 中添加这个

    $route['my_batch'] = 'your_controller/function_name';
    

    在你的控制器中:

    public function function_name(){
            your task....
            }
    
        }```
    now go to c-panel and search for cron job.
    
    1.select custom command
    2. put this command "curl --silent http://your_domain.com/your_controller/function_name" (without quotes). 
    3. select timings and save it.
    

    【讨论】:

    • 道歉放 $route['your_controller'] = 'your_controller/function_name';在 routes.php 上
    • 你拯救了我的一天!非常感谢
    【解决方案3】:

    我不确定我是否理解您的问题,但是如果在 linux 服务器上工作,您可以使用 cron 作业来安排任务。

    假设您有一个名为 Welcome 的控制器和一个名为 task 的函数,那么您可以使用类似这样的 cron 作业:

    cron_configuration path_to_bin_php index.php 欢迎任务

    这是一个链接,其中包含有关 cron 的更多详细信息:

    http://www.thegeekstuff.com/2009/06/15-practical-crontab-examples

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-06
      • 2012-08-29
      • 1970-01-01
      • 1970-01-01
      • 2013-10-04
      • 2014-04-14
      • 2020-10-21
      • 1970-01-01
      相关资源
      最近更新 更多