Я знаю, что немного опоздал, но я бы хотел оставить другое решение, возможно, оно поможет другим людям, вы можете запустить файл в 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();
Затем добавьте запись с вкладкой cron
0 0,12 * * * php /path/to/your/project/cron.php
Это должно работать лучше, чем первый ответ, так как вы будете работать с PHP CLI, тогда у вас не будет ограничения по времени выполнения php-скрипта, если ваш скрипт занимает больше одной минуты и вам не нужно сетевое соединение для запуска эта работа cron