Yos*_*sef 5 cron zend-framework zend-controller
如何每12个小时由cron运行zend框架操作(内部索引控制器)?
案子:
我有zf工具创建的基本(无模块)zend项目(1.11).
里面主要的IndexController存在cronAction() - url http:// mydomain/index/cron.
需要由cron每12小时运行一次cronAction().
谢谢
min*_*gos 13
找到crontab文件并添加以下行:
0 0,12 * * * curl --silent --compressed http://mydomain/index/cron
Run Code Online (Sandbox Code Playgroud)
您也可以使用其他工具,例如lynx或wget,而不是通常卷曲 - 上面只是一个例子.
我知道我有点迟了但是我想留下另一个解决方案,也许它可以帮助其他人,你可以在cron中运行该文件,如果你的业务规则在模型中
通过使用以下内容在公用文件夹中创建文件.例如:cron.php
<?php
// Define path to application directory
defined('APPLICATION_PATH')
|| define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../application'));
// Define application environment
defined('APPLICATION_ENV')
|| define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'development'));
// Ensure library/ is on include_path
set_include_path(implode(PATH_SEPARATOR, array(
realpath(APPLICATION_PATH . '/../library'),
get_include_path(),
)));
/** Zend_Application */
require_once 'Zend/Application.php';
// Create application, bootstrap, and run
$application = new Zend_Application(
APPLICATION_ENV,
APPLICATION_PATH . '/configs/application.ini'
);
$application->bootstrap();
$model = new Application_Model_Name();
$model->runTask();
Run Code Online (Sandbox Code Playgroud)
然后添加一个cron选项卡条目
0 0,12 * * * php /path/to/your/project/cron.php
Run Code Online (Sandbox Code Playgroud)
它应该比第一个答案更好,因为您将使用PHP CLI运行,然后您将没有php脚本的执行时间限制,如果您的脚本需要超过一分钟而且您不需要网络连接来运行该cron作业
| 归档时间: |
|
| 查看次数: |
1985 次 |
| 最近记录: |