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
Ruby on rails heroku和sidekiq是如何在我的主要dyno之外工作的?_Ruby On Rails_Heroku_Sidekiq - Fatal编程技术网

Ruby on rails heroku和sidekiq是如何在我的主要dyno之外工作的?

Ruby on rails heroku和sidekiq是如何在我的主要dyno之外工作的?,ruby-on-rails,heroku,sidekiq,Ruby On Rails,Heroku,Sidekiq,我搞不懂heroku和sidekiq是怎么工作的。我的proc文件如下所示: web: bundle exec puma -C config/puma.rb worker: bundle exec sidekiq -e $RAILS_ENV 现在,在rails中,我在代码中运行sidekiq作业,如: SomeWorker.perform_async(some.id) 现在,这是否会自动使该进程在worker dyno中运行 如果是,它如何知道如何在进程外运行此操作 这是令人困惑的,因为当我

我搞不懂heroku和sidekiq是怎么工作的。我的proc文件如下所示:

web: bundle exec puma -C config/puma.rb
worker: bundle exec sidekiq -e $RAILS_ENV
现在,在rails中,我在代码中运行sidekiq作业,如:

SomeWorker.perform_async(some.id)
现在,这是否会自动使该进程在worker dyno中运行

如果是,它如何知道如何在进程外运行此操作


这是令人困惑的,因为当我在我的主要git文件夹中时,我可以运行heroku命令,我知道这是用于我的web dyno的,但是我如何才能看到我的worker dyno的日志,或者这些日志是否会在我的相同dyno日志中?

当您设置
Procfile
时,您正在告诉Heroku设置两种类型的dynos:
web
worker
。它们很可能使用相同的Rails应用程序代码,但使用不同的命令启动(
bundle exec puma
vs.
bundle exec sidekiq
)。然后,您可以扩展每种类型的进程所需的VM(dyno)数量

将两者结合在一起的胶水是Redis。当您从
web
进程运行
SomeWorker.perform_async(some.id)
时,您正在向Redis添加一条描述要运行的作业的记录。您的
worker
进程监视Redis以查找新记录,然后对其进行处理


Heroku日志显示所有运行Dyno的日志。因此,您应该可以看到来自
web
worker
进程的日志混合在一起。

当您设置
Procfile
时,您告诉Heroku设置两种类型的dynos:
web
worker
。它们很可能使用相同的Rails应用程序代码,但使用不同的命令启动(
bundle exec puma
vs.
bundle exec sidekiq
)。然后,您可以扩展每种类型的进程所需的VM(dyno)数量

将两者结合在一起的胶水是Redis。当您从
web
进程运行
SomeWorker.perform_async(some.id)
时,您正在向Redis添加一条描述要运行的作业的记录。您的
worker
进程监视Redis以查找新记录,然后对其进行处理


Heroku日志显示所有运行Dyno的日志。因此,您应该可以看到您的
web
worker
进程的日志混合在一起。

对。我想我也不知道heroku是怎么工作的:)不知怎的,我完全确信它会在同一个动态中运行sidekiq。这需要一段时间才能完全理解它。这本书真的帮了我大忙。正确的。我想我也不知道heroku是怎么工作的:)不知怎的,我完全确信它会在同一个动态中运行sidekiq。这需要一段时间才能完全理解它。这本书真的帮了我大忙。