taskmaster

Phần mềm chụp màn hình:
taskmaster
Các chi tiết về phần mềm:
Phiên bản: 0.8.1
Ngày tải lên: 14 Apr 15
Nhà phát triển: David Cramer
Giấy phép: Miễn phí
Phổ biến: 2

Rating: nan/5 (Total Votes: 0)

đốc công là một hàng đợi phân phối đơn giản được thiết kế để xử lý một số lượng lớn các nhiệm vụ một lần.
Chúng tôi xây dựng này tại Disqus để xử lý thường xuyên, nhưng nhiệm vụ phổ biến như "di chuyển dữ liệu này vào một sơ đồ mới".
Tại sao?
Bạn có thể hỏi, "Tại sao không sử dụng cần tây?". Vâng câu trả lời đơn giản là xếp hàng thường yêu cầu (không theo nghĩa đen, nhưng nó muốn được đau đớn mà không có) bạn đệm tất cả các nhiệm vụ vào một vị trí trung tâm. Điều này trở thành một vấn đề khi bạn có một số lượng lớn các nhiệm vụ, đặc biệt là khi chúng có chứa một lượng lớn dữ liệu.
Hãy tưởng tượng bạn có 1 tỷ công việc, mỗi cân nặng khoảng 5k. Thats, không nén, tối thiểu 4 terabyte lưu trữ cần thiết chỉ để giữ cho rằng xung quanh, và có thêm nhiều bạn rất ít.
Taskmaster mặt khác được thiết kế để có một iterator có thể tiếp tục, và chỉ kéo trong một số lượng tối đa các công việc tại một thời điểm (sử dụng tiêu chuẩn của Python Queue). Điều này đảm bảo một mô hình phù hợp bộ nhớ có thể mở rộng quy mô tuyến tính.
Cách sử dụng
Tạo một iterator, và gọi lại:
import socket
# Chúng ta phải đảm bảo thời gian chờ mặc định ** ** không được thiết lập hoặc đi tiêu ngẫu nhiên sẽ nhấn fan.
socket.setdefaulttimeout (None)
# Đốc công / example.py
get_jobs def (cuối = 0):
& Nbsp; # cuối cùng sẽ được gửi nếu nhà nước đã được khôi phục
& Nbsp; # từ một chạy trước
& Nbsp; for i in xrange (cuối cùng, 100000000):
& Nbsp; # công việc mang lại phải serializeable với dưa
& Nbsp; năng suất i
def handle_job (i):
& Nbsp; # ** này phải ** được idempotent, như nối lại quá trình này có thể thực hiện một công việc
& Nbsp; # mà đã được chạy
& Nbsp; in "Got% r!" % I
Đẻ trứng một bậc thầy:
& Nbsp; tm-master taskmaster.example
Đẻ trứng một nô lệ:
& Nbsp; tm-slave taskmaster.example
Hoặc đẻ trứng 8 nô lệ (mỗi viên chứa một threadpool):
& Nbsp; tm-spawn taskmaster.example 8
Không thích những chức năng kỳ diệu khám phá cho master / slave? Xác định mục tiêu của riêng bạn:
& Nbsp; tm-master taskmaster.example: get_jobs $ tm-slave taskmaster.example: handle_job

Lưu ý:
Tất cả đối số là tùy chọn và sẽ mặc định để localhost với không có phím auth

Yêu cầu .

  • Python

Phần mềm khác của nhà phát triển David Cramer

nose-bleed
nose-bleed

14 Apr 15

nose-bisect
nose-bisect

14 Apr 15

sentry-pivotal
sentry-pivotal

20 Feb 15

nexus-memcache
nexus-memcache

15 Apr 15

Ý kiến ​​để taskmaster

Bình luận không
Nhập bình luận
Bật hình ảnh!