delayed_jobで非同期実行指定したメソッドをデバッグ時に即座に実行する
Rubyで処理を非同期実行したい場合に使うgemはいくつかありますが、自分はdelayed_job
(以下、DJ)を使ったります。
DJではメソッドを常に非同期で実行したい場合、handle_asynchronously
を使って次のように書きます。
class Device def deliver # long running method end handle_asynchronously :deliver end
ただ、開発中にデバッグ等の用途でこのメソッドを即座に呼び出したいことがあったります。(普通に呼び出してもDJのqueueに処理が追加さるだけで、即座に実行されません。)
そんなときは、_without_delay
をつけてメソッドを呼んであげと即時実行できます。deliver_without_delay
READMEを読みましょう。
https://github.com/collectiveidea/delayed_job
- 作者: Rubyサポーターズ,すがわらまさのり,寺田玄太郎,三村益隆,近藤宇智朗,橋立友宏,関口亮一
- 出版社/メーカー: 技術評論社
- 発売日: 2013/08/10
- メディア: 大型本
- この商品を含むブログ (12件) を見る