Sen bir iş parçacığı havuzu gibi yapabilirsiniz. Alma işlemek için bir komut satırı php komut dosyası oluşturun. Bu ölürse otomatik işlem yeniden başlatılır bir kabuk tarafından başlatılması gerekmektedir. Zaten (benzer bir $ pid.running dosya veya kullanmak) çalışıyorsa kabuk komut işlemini başlatmak gerekir. Bu, her 1-10 dakikada çeşitli cron çalıştırmak var. Bu güzel alma işlemesi gerekir.
Cron bazı garip nedenle başka bir sunucudaki sürece ben cron yangını bir web isteği olmazdı.
Bunu kullanmak için başka bir yolu bazı backround işlem verilerini oluşturmak için olurdu ve onlar doğal olarak siteye göz olarak bir web kullanıcı (lar) tüketmek. Bir rapor üreteci bu şekilde işe yarayabilir. Şirket çapında raporlar tüm kullanıcılar için kullanılabilir ancak onlara bu db / zaman yoğun raporu üreten istemiyorum. Yani bir kuyruk oluşturmak ve olası bir zamanda çiftleri kaldırarak teker işlemek. Hazır olduğunda tüm kullanıcıların raporu (ler) görebilirsiniz.
According to the docs bu zend db bile diğer Zend_Db sorgular gibi aynı bağlantıyı kullanıyor gibi görünüyorsun doens't. Ama tabii öğrenmek için en iyi yolu, basit bir test yapmaktır.
EDIT
The multiple lines in the cron are for concurrency. each line represents a worker for the pool. I was not clear, you don't want the pid as the identifier, you want to pass that as a parameter.
- / Home / byron / run_queue.sh Process1
- / Home / byron / run_queue.sh Process2
- / Home / byron / run_queue.sh işleri3
O çıkmak bulursa betik $ process.running dosyasını kontrol ediyorum.
Aksi takdirde:
- $ Process.running dosyası oluşturun.
- php işlemini başlatmak. Bitirene kadar blok / bekleyin.
- $ Process.running dosyasını silin.
Php komut ölür ama havuz bir işçi gevşek neden için bu sağlar.
Sıra boşsa php script hemen çıkar ve cron'nun nex çağırma tarafından yeniden başlatılır.