1

我一直在互联网上搜索,但我似乎无法找到我确切问题的答案。

我有一个使用参数运行的 ruby​​ 脚本。例如追加.rb

如果我调用 ruby​​ Append.rb 0 - 这将启动一个线程并执行一些逻辑

如果我调用 ruby​​ Append.rb 2000 - 这将启动一个新线程并执行不同的逻辑

如果我设置了一个 Procfile,并使用“fromen start”在本地运行,则两个脚本会同时触发并且可以正常工作。

Procfile 看起来像这样:

工人:红宝石 Append.rb 0

工人:红宝石 Append.rb 1000

如果我在 Heroku 中做同样的事情,它将启动 2 个 dynos,但两者都会触发:

追加.rb 1000

有什么想法可以解决这个问题吗?

4

1 回答 1

0

除此之外的任何东西web都只是一个标识该进程的abritrary字符串,不需要调用它worker。但是,该字符串确实需要是唯一的。因此,只需将其称为不同的名称:

worker_0: ruby Append.rb 0
worker_1000: ruby Append.rb 1000

然后,您可以在缩放命令中使用这些标识符:

heroku ps:scale worker_0+1
heroku ps:scale worker_1000=1

等等。有关更多 Procfile 信息,请参见此处: http ://neilmiddleton.com/the-procfile-is-your-friend/

于 2012-12-12T22:23:52.407 回答