簡體   English   中英

Resque 可以並行運行作業嗎?

[英]Can Resque run jobs in parallel?

Resque 可以同時運行許多類似的作業嗎? 如果是這樣,您將如何設置工人來執行此操作?

我會看一下Resque Pool gem ,它可以很容易地為不同的隊列設置多個工作人員。 然后,您可以按隊列對類似任務進行分組。

如果您還沒有使用某些東西進行進程監控,resque-pool 可以幫助您通過單個守護進程管理您的工作。 它還為您提供了一些方法來監控您的員工正在發生的事情。 此外,它還允許您通過一個簡單的 yaml 文件輕松更改每個隊列運行的工作人員數量。

如果將COUNT選項傳遞給 rake 任務,則可以運行多個工作程序:

COUNT=5 QUEUE=* rake resque:workers

在生產中,您可以使用God類的東西來保持您的流程運行。 Resque 項目有一個示例配置腳本,它允許多個工作人員。

如果您使用 monit 進行監控,請注意每個工作人員有一個 pid 文件

#!/bin/sh
cd <path of app>/current/
for i in 3; 
do
    VVERBOSE=1 PIDFILE=<path of app>/shared/pids/resque_$i.pid RAILS_ENV=production QUEUE=name_of_queue bundle exec rake environment resque:work > <path of app>/shared/log/resque_$i.log
done

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM