2010-06-10 30 views
9

Tôi muốn sử dụng Delayed :: Job (hoặc có thể là hàng đợi công việc phù hợp hơn với vấn đề của mình) để gửi công việc tới nhiều nền.Use Delayed :: Công việc quản lý nhiều hàng đợi công việc

Tôi có một số trình nền tảng thực hiện các trách nhiệm khác nhau. Mỗi người đều quan tâm đến các công việc khác nhau trong hàng đợi từ ứng dụng Rails. Điều này có thể sử dụng Delayed :: Job, hoặc có lẽ có một hàng đợi công việc khác phù hợp hơn với công việc này?

Trả lời

0

Nhân viên DJ chỉ cần lấy công việc đầu tiên từ hàng đợi (chỉ có một) và thực hiện. Mỗi công nhân cũng giống như bất kỳ công nhân nào khác. Bạn có thể chạy nhiều công nhân, nhưng tất cả họ sẽ làm việc từ cùng một hàng đợi.

6

Nếu bạn thích công việc chậm trễ, nó muốn được đủ đơn giản để tạo nhiều bảng, mỗi hàng đợi

Nhân viên được nó tên bảng từ

class Job < ActiveRecord::Base 
    MAX_ATTEMPTS = 25 
    MAX_RUN_TIME = 4.hours 
    set_table_name :delayed_jobs 

Vì vậy, bạn có thể chỉnh sửa đó và tạo một di chuyển trên mỗi bảng. Và sau đó khi bạn bắt đầu công việc của mình, bạn sẽ bắt đầu một công nhân mỗi hàng đợi.

Nguồn: http://github.com/tobi/delayed_job

4

Resque là một thư viện hàng đợi công việc hỗ trợ nhiều hàng đợi.

1

trả lời là ở đây:

Delayed_job - Multiple parallel queues?

Sử dụng tùy chọn -i trong delayed_job (chứ không phải là tùy chọn -n sử dụng cho sinh sản nhiều công nhân) để thiết lập một ID duy nhất cho mỗi công việc.

Các vấn đề liên quan