2016-04-13 7 views
1

Bir Notify/Listen mekanizmasını hayata geçirdim, böylece web sunucusuna özel bir istek gönderildiğinde, bildirimi kullanarak işçilerin (Python'da) işlenmeyi bekleyen bekleyen bir istek olduğunu bildirebilirler. Uygulama iyi çalışıyor, ancak sorun şu ki, çalışanlar sunucu yeniden başlatılıyorsa, bildirim kaybolur, çünkü o saatte dinleyici yoktur. MQRabbit veya benzeri bir hizmeti uygulayabilirim, ancak ihtiyaçlarm o kadar basit ki böyle bir canavarı uygulamak çok kolay. Herhangi bir şekilde, bir bildirim değişkeni olabilir, bu da bildirim mekanizmasına biraz sürebilir mi? peşinPostgres Notify/Listen mekanizmasına güvenmenin bir yolu var mı?

cevap

1

ben bildirim kanalları inat için bir yol olduğunu sanmıyorum, ama sadece başlangıçta herhangi cevapsız iş için işçi çek bir tabloya bekleyen istekler depolamak ve olabilir de

teşekkürler.

Ne tür bir iş yaptığına bağlı olarak, bir zaman damgası veya bekleyen/tamamlanmış bir bayrak çalışır.

Tutarlılık için, kuyruk tablosundaki INSERT tetikleyicisinden NOTIFY yangını alabilir ve bildirimde bulunulduğunda işçinin kalan her işi (yalnızca belirli bir isteği değil) kontrol etmesini sağlayın.

+0

Bu bir olasılıktır, ancak özellikle zarif değildir. Böyle bir hack yapmak için güvenebileceğiniz bir çözüme sahip olmak için uygun ve basit bir kuyruk yönetim sistemi uygulamayı tercih ederim. Teşekkürler! – AkerbeltZ

+0

@AkerbeltZ Kuyruk yönetim sistemi olayları dinlemek ve sıraya koymak sorumluluğunu üstlenir. Sıra yönetim sistemi ölebilir veya yeniden başlatılabilir mi? Ve bildirimler yine de kaybolacaktı. –

İlgili konular