taskmaster

Screenshot Software:
taskmaster
Mga detalye ng Software:
Bersyon: 0.8.1
I-upload ang petsa: 14 Apr 15
Nag-develop: David Cramer
Lisensya: Libre
Katanyagan: 2

Rating: nan/5 (Total Votes: 0)

katiwala ay isang simpleng ibinahagi sa queue dinisenyo para sa paghawak ng malaking bilang ng mga isa-off ang mga gawain.
Binuo namin ito sa DISQUS upang mahawakan ang mga madalas na, ngunit hindi karaniwang mga gawain tulad ng "mag-migrate ang data na ito sa isang bagong schema".
Bakit?
Maaari kang magtanong, "Bakit hindi gumagamit ng kintsay?". Well ang sagot ay na nangangailangan ng normal queuing (hindi literal, ngunit nais itong maging masakit nang hindi) na nagpapahina ng lakas sa lahat ng mga gawain sa isang pangunahing lokasyon lamang. Ito ay nagiging isang problema kapag mayroon kang isang malaking halaga ng mga gawain, lalo na kapag naglalaman ang mga ito ng malaking halaga ng data.
Isipin mayroon kang 1000000000 gawain, ang bawat tumitimbang in sa 5k. Iyon, hindi na-compress, sa minimum na 4 terabytes ng imbakan na kinakailangan upang panatilihin lamang na paligid, at makakakuha ka ng napakakaunting.
Katiwala sa kabilang banda ay dinisenyo upang kumuha ng naitutuloy iterator, at hilahin lamang sa isang maximum na bilang ng mga trabaho sa isang pagkakataon (gamit ang karaniwang Python Queue ng). Tinitiyak nito ang isang pare-parehong pattern ng memorya na maaaring masukat linearly.
Paggamit
Lumikha ng iterator, at callback:
-import socket
# Kailangan naming matiyak default na timeout ** hindi nakatakda ** o random tae ay pindutin ang fan.
socket.setdefaulttimeout (Wala)
# Katiwala / example.py
def get_jobs (huling = 0):
& Nbsp; # nakaraang nais na ipadala kung estado ay ipinagpatuloy
& Nbsp; # mula sa nakaraang run
& Nbsp; para sa i xrange (huling, 100,000,000):
& Nbsp; # trabaho yielded dapat na serializeable sa atsara
& Nbsp; ani i
def handle_job (i):
& Nbsp; # ito ** Dapat ** ay idempotent, bilang pagpapatuloy ng proseso ay maaaring isagawa ng trabaho
& Nbsp; # na si Na-tumakbo
& Nbsp; print "Nakakuha% r!" % I
Mga itlog ng isda master:
& Nbsp; tm-master taskmaster.example
Mga itlog ng isda ng alipin:
& Nbsp; tm-alipin taskmaster.example
O mga itlog ng isda 8 mga alipin (bawat naglalaman ng threadpool):
& Nbsp; tm-taskmaster.example mga itlog ng isda 8
Wala tulad ng mahiwagang function na matuklasan para sa master / alipin? Tukuyin ang iyong sariling mga target:
& Nbsp; tm-master taskmaster.example: get_jobs $ tm-alipin taskmaster.example: handle_job

Tandaan:
Lahat ng mga argumento ay opsyonal, at magiging default sa localhost na walang auth key

Mga Kinakailangan :.

  • Python

Iba pang mga software developer ng David Cramer

nexus
nexus

15 Apr 15

django-sentry
django-sentry

11 May 15

Sentry
Sentry

20 Feb 15

django-data-tools
django-data-tools

11 May 15

Mga komento sa taskmaster

Mga Komento hindi natagpuan
Magdagdag ng komento
I-sa mga imahe!