taskmaster bir-off vəzifələri çoxlu sayda baxılması üçün nəzərdə sadə paylanmış queue edir.
Biz tez-tez idarə etmək DISQUS bu tikilmiş, lakin kimi qeyri-adi vəzifələri "Yeni şeması üçün bu məlumatları miqrasiya".
Niyə?
"Kərəviz istifadə Niyə?" Siz xahiş edə bilər. Yaxşı cavab bir mərkəzi yer bütün vəzifələri bufer normal kuyruk (deyil, sözün, lakin olmadan ağrılı olardı) tələb edir ki, sadəcə deyil. Siz vəzifələri böyük bir məbləğ var zaman onlar məlumatın və böyük məbləğdə olan, xüsusilə də, bir problem olur.
Hər 5K da ağırlığında, 1 milyard vəzifələri var düşünün. Thats, yalnız ətrafında saxlamaq, və çox az mənfəət üçün tələb olunan saxlama minimum 4 terabayt da, sıkıştırılmamış.
Digər tərəfdən Taskmaster (standart Python Queue istifadə edərək) bir resumable iterator almaq və yalnız bir zamanda iş bir maksimum sayı çəkmək üçün nəzərdə tutulmuşdur. Bu xətti miqyaslı bilər ardıcıl yaddaş model təmin edir.
istifadə
Bir iterator və callback yarat:
idxal socket
# Biz ** ** müəyyən deyil default fasiləsi təmin etməlidir və ya təsadüfi bok fan təşkil edəcək.
socket.setdefaulttimeout (None)
# Taskmaster / example.py
def get_jobs (son = 0):
& Nbsp; dövlət bərpa əgər # keçən göndəriləcəyini söylədi
& Nbsp; bir əvvəlki run #
& Nbsp; i xrange (son, 100000000):
& Nbsp; # jobs turşu ilə serializeable olmalıdır vermişdir
& Nbsp; gəlir i
def handle_job (i):
& Nbsp; # Bu ** olmalıdır bir iş icra edə bilər müddəti bərpa kimi, idempotent edilə **
& Nbsp; # artıq run ki,
& Nbsp; print "var% r!" % I
Ustası kürü:
& Nbsp; tm-master taskmaster.example
Bir qul kürü:
& Nbsp; tm-qul taskmaster.example
Və ya 8 qul (hər bir threadpool olan) kürü:
& Nbsp; tm-kürü taskmaster.example 8
Master / qul tapmaq sehrli funksiyası kimi yoxdur? Öz hədəfləri daxil:
& Nbsp; tm-master taskmaster.example: get_jobs $ tm-qul taskmaster.example: handle_job
Qeyd: Bütün dəlilləri isteğe bağlıdır və heç bir İcazə düyməsi ilə localhost default edəcək
tələblər .
- Python
Şərhlər tapılmadı