Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Heroku上运行多个不同的进程_Heroku - Fatal编程技术网

在Heroku上运行多个不同的进程

在Heroku上运行多个不同的进程,heroku,Heroku,我一直在网上搜索,但似乎找不到确切问题的答案 我有一个使用参数运行的ruby脚本。例如Append.rb 如果我调用ruby Append.rb 0-这将启动一个线程并执行一些逻辑 如果我调用ruby Append.rb 2000-这将启动一个新线程并执行不同的逻辑 如果我设置一个Procfile,并使用“fromen start”在本地运行,这两个脚本会同时触发,并且工作正常 Procfile如下所示: 工作者:ruby Append.rb 0 工作者:ruby Append.rb 1000

我一直在网上搜索,但似乎找不到确切问题的答案

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

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

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

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

Procfile如下所示:

工作者:ruby Append.rb 0

工作者:ruby Append.rb 1000

如果我在Heroku中执行相同的操作,它将启动2个dynos,但两者都将触发:Append.rb 1000

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

除了web之外的任何东西都只是一个用于标识该进程的辅助字符串,不需要称为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的更多信息,请参见此处: