taskmaster

Software screenshot:
taskmaster
Rincian Software:
Versi: 0.8.1
Tanggal Upload: 14 Apr 15
Pengembang: David Cramer
Lisensi: Gratis
Popularitas: 2

Rating: nan/5 (Total Votes: 0)

pemberi tugas adalah antrian didistribusikan sederhana yang dirancang untuk menangani sejumlah besar satu-off tugas.
Kami membangun ini di Disqus untuk menangani sering, tapi tugas-tugas biasa seperti "migrasi data ini ke skema baru".
Mengapa?
Anda mungkin bertanya, "Mengapa tidak menggunakan Seledri?". Yah jawabannya adalah hanya bahwa antrian normal memerlukan (tidak secara harfiah, tapi itu akan menyakitkan tanpa) Anda untuk buffer semua tugas ke lokasi pusat. Hal ini menjadi masalah ketika Anda memiliki sejumlah besar tugas, terutama ketika mereka mengandung sejumlah besar data.
Bayangkan Anda memiliki 1 miliar tugas, masing-masing beratnya 5k. Thats di, tidak dikompresi, minimal 4 terabyte penyimpanan yang diperlukan hanya untuk menjaga bahwa sekitar, dan keuntungan Anda sangat sedikit.
Pemberi tugas di sisi lain dirancang untuk mengambil iterator resumable, dan hanya menarik jumlah maksimum pekerjaan pada satu waktu (menggunakan standar Python Antrian itu). Hal ini memastikan pola memori yang konsisten yang dapat skala linear.
Penggunaan
Buat iterator, dan callback:
socket impor
# Kita harus memastikan default timeout ** tidak diatur ** atau kotoran acak akan memukul kipas angin.
socket.setdefaulttimeout (None)
# Pemberi tugas / example.py
get_jobs def (terakhir = 0):
& Nbsp; # lalu akan dikirim jika negara itu kembali
& Nbsp; # dari sebelumnya menjalankan
& Nbsp; for i in xrange (terakhir, 100000000):
& Nbsp; # pekerjaan yang dihasilkan harus serializeable dengan acar
& Nbsp; yield i
def handle_job (i):
& Nbsp; # ** ini harus ** harus idempoten, seperti melanjutkan proses dapat mengeksekusi pekerjaan
& Nbsp; # yang sudah dijalankan
& Nbsp; print "Got% r!" % I
Menelurkan master:
& Nbsp; tm-master taskmaster.example
Menelurkan seorang budak:
& Nbsp; tm-budak taskmaster.example
Atau menelurkan 8 budak (masing-masing berisi threadpool):
& Nbsp; tm-bibit taskmaster.example 8
Tidak suka fungsi magis menemukan untuk master / slave? Tentukan target Anda sendiri:
& Nbsp; tm-master taskmaster.example: get_jobs $ tm-budak taskmaster.example: handle_job

Catatan:
Semua argumen adalah opsional, dan akan default ke localhost tanpa kunci auth

Persyaratan :.

  • Python

Perangkat lunak lain dari pengembang David Cramer

nose-bleed
nose-bleed

14 Apr 15

sentry-webhooks
sentry-webhooks

20 Feb 15

nose-json
nose-json

14 Apr 15

Logan
Logan

20 Feb 15

Komentar untuk taskmaster

Komentar tidak ditemukan
Tambahkan komentar
Aktifkan gambar!