2011-06-29 11 views
5

Her 12 saatte bir cron tarafından nasıl çerçeve eylemi (iç indeks denetleyicisi) çalıştırılır?Her 12 saatte bir cron tarafından nasıl bir çerçeve eylemi (iç indeks denetleyicisi) çalıştırılır?

durum:

  1. ben zf aracı tarafından oluşturulan temel (modüller) zend projesi (1.11) vardır. İçerisinde ana IndexController var cronAction() - url http://mydomain/index/cron.

  2. cron tarafından 12 saatte bir kere cronAction() çalıştırmanız gerekir.

Teşekkür

cevap

13

crontab dosyasını bulun ve bu satırı ekleyin:

Ayrıca, değil necassarily bukle vaşak veya wget gibi diğer araçları ile bunu yapabilir
0 0,12 * * * curl --silent --compressed http://mydomain/index/cron 

- üstündedir sadece bir örnek.

5

Ben biraz geç biliyorum ama modele

içindeki iş kuralı varsa bir dosyayı oluşturarak cron dosyayı çalıştırabilir, belki de diğer insanlara yardım, başka bir çözüm ayrılmak istiyorum Aşağıdaki içeriği içeren ortak klasör. Eğer o zaman yürütülmesi süre sınırı olmayacak PHP CLI kullanarak çalışır beri Ör .: 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(); 

Sonra

İlk cevap daha iyi çalışması gerektiğini bir cron sekme girişi

0 0,12 * * * php /path/to/your/project/cron.php 
eklemek php betiği, betiğinizin olması durumunda bir dakikadan fazla sürüyor ve bu cron işini çalıştırmak için ağ bağlantısına ihtiyacınız yok

İlgili konular