【问题标题】:How to set cron job in yii如何在 yii 中设置 cron 作业
【发布时间】:2013-06-21 12:27:33
【问题描述】:

我是 yii 的新手。我正在做一个项目。

我写了一个向客户发送自动提醒的函数

说这个函数在 url :

http://somedomain.com/index.php/somecontroller/someaction

我想为这个 url 设置 cron。

一种方法是我应该写GET cron_job_url

但我不想为我的 cron 使用 url。我只想使用控制器和操作的物理路径。 yii 可以做到这一点吗?

【问题讨论】:

  • 不,除非你不使用 Yii 的任何模型或其他任何东西,否则我不相信它,因为如果你只包含控制器的 php 文件,这些文件就不会被包含在内。

标签: yii yii-extensions


【解决方案1】:

如果您想使用 cron 作业,我建议您编写 yiic 命令而不是调用 URL。这非常简单,您不必处理 URL 访问权限。

创建一个从CConsoleCommand 扩展的新类,并实现run() 方法或某些操作,就像在控制器中一样。您可以找到有关控制台命令here 的更多信息。您必须将命令保存到protected/commands 目录,并且类名必须以Command 结尾。

如果您的命令被称为 DemoCommand,那么您可以从 cron 作业中将其称为 /path/to/your/webroot/protected/yiic demo

【讨论】:

  • 嘿,我正在使用它,但我不明白如何在此命令文件夹中调用模型和控制器
  • 您可以在这样的命令中做任何您想做的事情,并使用您喜欢的任何类或模型——这与控制器操作中的操作非常相似。只要确保您没有错过添加您在main.php 中可能拥有的任何自定义import 路径。您也必须将它们添加到您的console.php
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-05-09
  • 2012-04-20
  • 2021-02-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多