欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

crontab中如何调用yii框架类中的一个方法

程序员文章站 2022-06-05 20:10:58
...
【问题描述】:
需要在crontab中加入计划任务每天执行/data/www/producted/.../timeController.php文件中的Show方法。
在计划任务中加入:
0 1 * /data/www/producted/.../timeController.php Show > /dev/null 2>&1
计划在每天执行该方法。
但是该方法并没有按照预期被调用,分析原因可能是因为timeController.php是一个类文件,如果要调用其中的方法,需要符合yii的调用规则,所以上述写法无效。
请问如何在crontab中调用yii框架中的方法。谢谢

回复内容:

【问题描述】:
需要在crontab中加入计划任务每天执行/data/www/producted/.../timeController.php文件中的Show方法。
在计划任务中加入:
0 1 * /data/www/producted/.../timeController.php Show > /dev/null 2>&1
计划在每天执行该方法。
但是该方法并没有按照预期被调用,分析原因可能是因为timeController.php是一个类文件,如果要调用其中的方法,需要符合yii的调用规则,所以上述写法无效。
请问如何在crontab中调用yii框架中的方法。谢谢

只能调command
demo如下

*/1 * * * * /usr/local/php/bin/php /path/to/www/protected/yiic foo bar >> /path/to/log.log 2>&1
# yiic 是命令文件 foo 是 命令类,对应 cammand/FooCommand.php 
# bar 是FooCommand 中的一个方法。  

  1. 需要在多处被调用的代码,不应该写在某个controller里。

  2. 写一个command来调用它。

crontab调用php脚本。
php脚本通过curl的方式调用controller的acrion