我的rails应用程序中有一个从ActiveJob::Base扩展而来的Job,它有两种调用方式:
- 每天的ResqueScheduler,由Resque工作人员提取并处理
- 在应用程序中通过#perform_now调用,因此它由应用程序处理
有没有办法让我在工作中确定它是否由Resque员工处理?
您应该在服务器日志中看到对ActiveJob
的引用。
[ActiveJob] [<YOUR-JOB-CLASS>] [b8ed2ecb-10ce-433d-8ddb-33a04c8021cd] Performing <YOUR-JOB-CLASS> from Resque(default)...
这不是决定性的,但它是代码执行上下文中的一个强有力的指标。
您可以使用defined?(Rails)
来确定您是在Rails应用程序中还是在Resque上下文中。