Ruby on rails 铁轨上的西德基。还有一些问题

Ruby on rails 铁轨上的西德基。还有一些问题,ruby-on-rails,sidekiq,Ruby On Rails,Sidekiq,我在看Sidekiq上的RailsCast,有一些问题: 1 Sidekiq通过线程而不是进程处理任务。这是什么意思?为什么它会节省内存 2工人类中的方法是否需要有一个perform方法 3在Sidekiq文档中,它说: 从Rails应用程序的根目录启动sidekiq,以便 将处理: bundle exec sidekiq 所以如果我在本地主机上运行这个,我可以运行bundle exec sidekiq。如果我被推到Heroku,我现在该怎么办?如何在Heroku上运行Sidekiq 4我不确定

我在看Sidekiq上的RailsCast,有一些问题:

1 Sidekiq通过线程而不是进程处理任务。这是什么意思?为什么它会节省内存

2工人类中的方法是否需要有一个perform方法

3在Sidekiq文档中,它说:

从Rails应用程序的根目录启动sidekiq,以便 将处理:

bundle exec sidekiq

所以如果我在本地主机上运行这个,我可以运行bundle exec sidekiq。如果我被推到Heroku,我现在该怎么办?如何在Heroku上运行Sidekiq

4我不确定我的Sidekiq是否有效。我有以下代码:

def set_defaults
    self.clicks = 0 if clicks.blank?
    self.title = TitleWorker.perform_async(orig_url)
end

但测试中的TitleWorker.perform_asynchorig_url似乎只返回一个数字字符串。发生了什么事?如何解决此问题?

虽然我对第一个问题不是非常清楚,但我可能能够回答您的其他问题:

对。它需要一个Perform方法来启动辅助进程

希罗库真是太棒了。运行Sidekiq不需要在Heroku上进行任何特殊配置。您只需确保安装了RedisToGo,并将其添加到Procfile中即可:

辅助程序:bundle exec rake作业:启动 sidekiq:bundle exec sidekiq-c 15-v

由于某种原因,您的程序文件正在启动Resque和Sidekiq。