2

我想从不同的地方将 Job 排入 ActiveJob 队列。有时来自命令行,有时来自 cron 作业。但是每次都加载整个环境,只是为了在redis中创建一个入口,感觉效率不是很高。

是否有其他解决方案可以在不加载整个 Rails-Application 的情况下快速将作业添加到 ActiveJob。

我知道,这应该是春天的工作,但是(我不知道为什么)它仍然需要大约 5 秒:

> time rails runner -e production 'SynchronizeStuffJob.perform_later'
[ActiveJob] Enqueued SynchronizeStuffJob (Job ID: 148e34bd-c38c-45c9-86f5-5a959a548ebb) to Sidekiq(default)

real    0m5.122s
user    0m4.385s
sys     0m0.663s

哦,如果这很重要:我使用 sidekiq。

4

1 回答 1

2

ActiveJob 需要 Rails;不启动 Rails 就不能使用 ActiveJob。

您可以在不启动 Rails 的情况下创建 Sidekiq 本机 Worker 作业。

于 2015-06-15T20:49:46.963 回答