小编Ful*_*ite的帖子

Rails异步活动作业不执行代码,而内联则执行

:async队列适配器实际上做了什么吗?

:inline,这是Rails 4中的默认值,在当前执行线程中处理使用ActiveJob构建的作业,呃...内联.异步,不应该.它应该使用ConnectionPool不在当前线程中运行它,这理想情况下会发生什么.它在当前执行线程之外运行.

但没有任何东西可以执

我仔细阅读了文档,我唯一能理解的是:异步,不像:内联,不执行任务,并期望你在本地执行系统.我必须手动执行perform所有作业才能让它们在本地执行.当我将适配器设置为:inline时,它可以正常工作而无需执行.

是否有一些配置问题,我错过了防​​止异步正常工作(如ActionCable?).

如果从rake任务(或控制台?)执行它是否不起作用.

它适用于:sidekiq /:resque,但我不想一直在本地运行这些.

Rails by default comes with an "immediate runner" queuing implementation. That means that each job that has been enqueued will run immediately.

这有点让我觉得有什么不对劲.我有一些工作,这些工作位于某个不运行的队列中.有什么可以阻止这个?

ruby-on-rails rails-activejob ruby-on-rails-5

4
推荐指数
2
解决办法
2053
查看次数