Bir XML-RPC API olsa ve bir web arayüzü olsa yüklenen dosyaları işler CakePKP'deki bir web sitesi inşa ediyorum. Dosyalar ClamAV tarafından taranması gereken, küçük vs, üretilen gerekir. Kullanıcı beklemek zorunda olmamalıdır hangi için biraz zaman alır tüm kaynak yoğun çalışması. Yani, genel olarak PHP ve özellikle CakePHP ile uyumsuz işleme içine arıyorum.
Ben umut verici görünüyor CakePHP için MultiTask plugin geldi. Ben de böyle dropr ve beanstalkd gibi çeşitli mesaj kuyruğu uygulamaları üzerinden geldi. Tabii ki, ben de muhtemelen bazı tür Kek Shell'i kullanarak uygulanan, arka plan sürecinin çeşit gerekir. I PHP_Fork, bir çok iş parçacıklı PHP cini uygulamak için kullanarak çoklu görev gördüm.
Ben en iyi şekilde birlikte tüm bu parçaları uyum konusunda bazı tavsiyeler gerekir.
- PHP ile yazılmış bir uzun süre çalışan daemon olması iyi bir fikir mi? Nelere dikkat etmelidir?
- Harici mesaj kuyruğu uygulamalarının avantajı nelerdir? Multitask eklentisi harici bir mesaj kuyruğu kullanmak değildir. Bu görevlerini depolamak için bir MySQL tablo kullanarak kendi Rolls.
- Ne mesaj kuyruğu kullanmalıyım? dropr? beanstalkd? Başka bir şey?
- Nasıl arka uç işlemci uygulamak gerekir? Bir forking PHP cini iyi bir fikir mi yoksa sadece sorun istiyor?
Benim şu anki planı Multitask eklenti kullanmak ya da bunun yerine kendi MySQL tablo uygulaması beanstald kullanmak için düzenlemek ya da budur. Kuyruktaki İşler sadece bir görev adı ve parametreleri bir dizi oluşabilir. PHP daemon gelen işler için izlemek ve çocuğu parçacıkları için onları geçecekti. Sadece verilen parametreler ile CakePHP Görevi yürütülür.
Herhangi bir görüş, tavsiye, yorum, gotchas veya alevler bu konuda?