https://github.com/collectiveidea/delayed_job
同じ種類のJobなんだけど、実行するタイミングや状況によって失敗時の再試行回数かえたいなーっていう要件があったので色々ごにょごにょしたメモ。
ちなみにのverなんかは以下でのおはなし
- rails (3.2.7)
- delayed_job (3.0.3)
- delayed_job_active_record (0.3.2)
スマートにやる方法がわかんなかったので、わりと無理やりな。
ちなみにdelayed_jobにActiveRecord使用時のおはなし。
まず、delayed_jobsテーブルにmax_attemptsを追加。
rails g でサクっと。
bundle exec rails g migration add_max_attempts_to_delayed_jobs max_attempts:integer
こんなの↓ができる。
class AddMaxAttemptsToDelayedJobs < ActiveRecord::Migration def change add_column :delayed_jobs, :max_attempts, :integer end end
migrateで適用。ドッコイショー
bundle exec rake db:migrate
んで、DB上のmax_attemptsにsetしたりgetしたりできるようにする。
initializers/delayed_job.rbあたりに
if defined?(Delayed::Backend::ActiveRecord::Job) module JobWithMaxAttemptsAttribute def self.included(base) base.class_eval do attr_accessible :max_attempts alias_method_chain :max_attempts, :attribute end end def max_attempts_with_attribute self[:max_attempts] || max_attempts_without_attribute end end Delayed::Backend::ActiveRecord::Job.send(:include, JobWithMaxAttemptsAttribute) end
module名やらメソッド名は超テキトー。英語力ないですしおすし。
ほいでdelay実行時に
delayの引数でキーmax_attemptsにお望みの再試行回数を入れる。
HogeMailer.delay(max_attempts: 1).fuga(record)
指定しなかったりnilだったらデフォの回数になるはず。
Prev / Next in same category
Comment Form
Trackbacks (0)
トラックバックはありません。
Comments (14)
Structure: For pretty much every last different Louis Vuitton backpack that could be revealed within the markets, yow will discover some sort of same in principle synthetic version.
ありませ
Until you get hold of what you may were definitely corresponding, really don’t pay off! If ever the postal provider likes anyone to pay off earlier than allowing you to check out your handmade jewelry, turn down any plan!
りませ
•
素晴らしい、私はあなたが書いた記事を投稿!
書いた記事を投稿!
これは、すべての情報が非常に明確に与えられている、非常に有益な記事だ。
指定されたすべての情報は、これは非常に真の記事であることが非常に明確である。
rchase sorbet; climbers even more magical role to protect MM grounds carrying MM left cross right cross over the bushes and small trees,
プロジェクトのdirを適当につくってGemfileを作成。あとgit initもしとこう。
かつて2015年のバーゼルのシャネル激安時計展初めて見得、
シャネルの超薄自動的にの上で鎖陀はずみ車腕時計、
今年プラチナの金の上着をはおって、
そのデザインはアイデアを高く備えて、
シャネル激安http://www.cctoh.com/
シャネルバッグ、腕時計、財布、靴、ピアス、眼鏡
超薄は表して殻のシャネル中で時計の歴史、
上で最も偉大な発明の中の一つを埋蔵していて。
Nice Articles. My thanks for doing such a wonderful report. I will return here to find out more and recommend my neighbors about your website.
bundle exec rails g migration add_max_attempts_to_delayed_jobs max_attempts:integer
画面中央にこのボックスが表示されるサンプルで、ポップアップされたウィンドウ内でスクロールができるようにしたいのですが、どうしたらよいものか、と困っております。
アイブ氏は前に自分のものを読んで、あなたはあまりにも素晴らしい。
動かしたよメモ。動かしたよメモ。