Php bazı iyi dağıtılmış kuyruk yöneticileri nelerdir?

3 Cevap php

Ben onun yerine uzun iş ben tüm komutları bir iş kimliği ile hızlı dönmek ve bir arka plan görevi fiili çalışma yapmak istiyorum kullanıcılar tarayıcı tutun sahip bir görüntü işleme web çalışıyorum. Id sonra durumu ve sonuçları (işlenmiş görüntünün yani url) kontrol etmek için kullanılan olabilir. Ben yakut, java ve python için dağıtılan kuyruk yöneticileri bir sürü bulduk ama ben bunları kullanmak edebilmek için bu dillerden herhangi neredeyse yeterince bilmiyoruz.

Benim kendi testler, işleri sıraya bir işçiye onları kilitlemek ve (db dönüş veri kaydetme) tamamlanmış olarak işaretlemek için ortak mysql veritabanı ile olmuştur. Bu sadece pis bir prototip olduğunu, ve ben tekerleği yeniden (ve çok zarif) sanki tüm zaman hissettim. Şey (Ben restfully konuşabilirsiniz veya?) Php var mı ben kullanabilir ki?

Daha biraz etrafında Okuma, ben ne arıyorum bir php api olan bir kuyruk sistemi olduğunu tespit ettik, bu php yazılı olmak zorunda değildir. Ben sadece Amazon'un SQS'in ile kullanım için sınıflar buldum, ama sadece ücretsiz değil, bu (göstermek için bir mesaj için bir dakikadan fazla), bazen de oldukça gizli olmasıdır ettik.

3 Cevap

Eğer ActiveMQ denediniz mi? Bu Stomp protokolü üzerinden PHP destekleyen söz eder. Detaylar the activemq site mevcuttur.

Ben senin olsa açıklayan veritabanı yaklaşımı dışarı kilometre bir çok kazanılmış ettik, bu yüzden bu konuda çok fazla endişe olmaz.

Eğer sunucu üzerinde tam kontrol var mı?

MySQL sıra böyle bir durumda iyi olabilir. (Döngü ise sonsuz olarak) sürekli çalışan yeni "görevler" için MySQL veritabanı sorgulama ve uyku () boşta zamanında yükünü azaltmak arasında ing bir PHP komut dosyası var.

Her görev tamamlandığında, veritabanında işaretlemek ve bir sonrakine geçmek.

O şeyi önlemek için komut / (PHP bellek taşması, vb) varsa çökerse (bir sunucu olarak Linux kullanıyorsanız), örneğin, inittab yerleştirebilirsiniz ve init onu yeniden başlayacak durdurur otomatik olarak.

Zend_Framework Mysql destekli, SQS'in ve diğer bazı back-biter uygulamaları bir dizi, bir kuyruk sınıf vardır.

Şahsen, ben de bir PHP istemci sahip olan, son zamanlarda BeanstalkD ile mükemmel sonuçlar yaşadım. Ben sadece deşifre olur ki, bunun içine atmak ve işçi (ler) çalıştırmak için JSON ile bazı verileri serialising ediyorum.