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 ネイティブ ワーカー ジョブを作成できます。

于 2015-06-15T20:49:46.963 に答える