Django-patchboard Django siqnallardan istifadə edərək müxtəlif nümunələri təmin edən Django app edir.
Qısa müddətli Queue
Sorğu dövrü ərzində başa üçün optimaldır. Daha sonra (mysql əlaqələri və s, 500 prosesləri, kürütökmə həyata çalışan) bir dəfə bütün resursları yemək bilər hər bir maddə üçün yeni bir mövzu, kürütökmə. Yalnız əməliyyatların ayırmaq əgər optimal ediləcək edilir. Ola bilsin ki, yaddaşında hər şey tutaraq yerüstü azaldır. Queue vəzifələri məcburi vaxt var (15 saniyə?). Onlar vaxtında geri əgər növbə maddələri (- tapşırıq maddə limit 45 saniyə vaxt tələb) başa çatır. Çox uzun vəzifələri bir günlük məlumat veriləcək. Növbədə isə qurtardıqdan maddələr günlük və bəlkə proseslərin sayı hesabat olacaq. Növbə maddələr müəyyən sayda proseslərin sayı qədər bəlkə onda qurtardıqdan riski varsa. Başa halda payız geri funksiyası daxil. Çox güman ki, Yox qayıtmaq və ya bir istisna qaldırmaq olardı.
Circuit Breaker
patchboard / circuitbreaker.py
3-cü tərəf aşağı isə resurs istifadə məhdudlaşdırmaq üçün istifadə olunur. X ardıcıl uğursuzluqlar, dövrə açmaq və bir istisna istifadə əgər hər CircuitOpen çağırırıq. Müəyyən bir zaman aşımı sonra circuit test özü uğur varsa, dövrə bağlayın. Unhandled istisnalar bir uğursuzluq kimi saymaq və qəbul olunur.
Circuit açıq olduqda A vəzifəsi gələcək tarixdə özünü reschedule bilər. Müdavimlərə Bu tel vuruş, əgər ideal bir circuit breaker istifadə olub-olmadığını müəyyən.
Signal Kateqoriyalar
Yanğın və Forget
Django siqnalları Classic istifadə
Dinləyicilərin iki mümkün kateqoriyalar:
- Dərhal təsir istəyirsiniz, heç bir növbə
- Bir sıra qoymaq və tələb dövrü xaricində başa bilər
Müdavimlərə onlar sıraya və ya etmək əgər müəyyən
Kolleksiyaçılar
nümunələri / collector.py
Bir siqnal edib və bütün dinləyicilərin cavab toplayır. Nəticələri açıqlaya bilər, lakin kollektor tərəfində edilir. Müdavimlərə sıraya ola bilər, lakin yalnız qısa müddətli növbə istifadə edə bilər. Dinləyicilərə sıraya edilir, əgər kollektor müəyyən edir. Dinləyicilərin sayı aşkar və bir sıra yuxarıda yalnız qısa müddətli sıra default bilər.
Api inteqrasiya üçün faydalı. Apps sadəcə siqnal qulaq asmaq və onların daxil təmin edə bilər. atəş app sadəcə toplayır və nəticələri aqreqatlar.
Side-Effects ilə İşaret
patchboard / prioritizeddispatcher.py
Dinləyicilərə onlar dəyişmək olunur bir obyekt mübadiləsi bilər. Yan təsirləri qaydada təmin etmək üçün prioritet olmalıdır. Sıralarında istifadə yəqin ki, bu ssenari yaxşı bir fikir deyil.
Error toplanması
patchboard / signals.py
Dinləyicilərə biz səhv up propigate istəyirəm bilər bir unhandled istisna zaman (adətən dinləyici asılıdır). . Ancaq ki, səhv daxil olun və default dəyəri qayıtmaq istəyirəm
tələblər
- Python
- Django
Şərhlər tapılmadı