我正在开发一个需要perform_later
作业的产品,这对我们的产品在生产中是有效的,因为我们有一系列的工人来运行所有的作业。
但是,当我在本地使用该应用程序时,我无法访问这些工作人员,并且我希望仅在 * 本地使用该应用程序时 * 才将所有perform_later
s更改为perform_now
s。
我的一个想法是在我的env
文件中添加一些东西,它将添加一个变量,使所有的perform_later
s变成perform_now
s --但我不确定这样的标志或变量是什么样子。
想法?
3条答案
按热度按时间ny6fqffe1#
干净的解决方案是在开发环境中更改queue_adapter。
在
config/environments/development.rb
中,您需要添加:字符串
“使用内联适配器封装作业时,作业将立即执行。”
2wnc66cl2#
在您的应用程序中,您可以:
字符串
此mixin仅包含在
test
和development
环境中。那么,如果你的工作是:
型
您可以执行:
型
并得到:
型
而不是作业示例:
型
请记住:这样做,所有作业将立即在测试和开发环境中执行。如果您想为单个作业启用此功能,则只需在该作业中包含
JobsExt
mixin。kdfy810k3#
我们通过调用一个中间方法来解决这个问题,然后根据Rails配置调用perform_later或perform_now:
字符串
简单地更新环境,