轻松启动多个rq工作进程 - 水平扩展

时间:2018-02-10 01:37:45

标签: python vps worker horizontal-scaling

如何轻松地在VPS中创建大量rq个工作进程?

现在我手动打开一个终端并在其中运行# takes a rating from home and away team, as well as is_cup boolean, returns score use_ratings <- function(home_rating, away_rating, is_cup = FALSE) { if(is_cup) { # if is_cup, its a neutral site game rating_diff <- -(home_rating - away_rating) / 400 } else { rating_diff <- -(home_rating + 85 - away_rating) / 400 } W_e <- 1 / (10^(rating_diff) + 1) return(W_e) } ,然后重复此操作直到我得到满意的工作实例数量。我知道这不是一个可扩展的解决方案,所以我该如何自动轻松地完成它。如果有一些工具可以促进这一过程,那就太好了。

1 个答案:

答案 0 :(得分:0)

我最终使用Supervisord。这似乎是一个非常好的解决方案。

相关的supervisord.conf文件如下所示。

[supervisord]

[program:worker]
command=python worker.py
process_name=%(program_name)s-%(process_num)s
numprocs=20
directory=.
stopsignal=TERM
autostart=true
autorestart=true

将此文件放在与RQ工作程序脚本worker.py相同的目录中后,只需运行以下命令即可生成20个RQ工作程序实例。可以通过numprocs文件中的supervisord.conf选项指定工作人员数量。

$ supervisord -n