Submit Search
Upload
delayed_jobの自動再起動
•
Download as PPT, PDF
•
0 likes
•
2,691 views
F
firewood
Follow
delayed_jobをmontで監視する
Read less
Read more
Software
Report
Share
Report
Share
1 of 13
Download now
Recommended
Lxc で始めるケチケチ仮想化生活?!
Lxc で始めるケチケチ仮想化生活?!
Etsuji Nakai
Linux Integrity Mechanisms - Protecting Container Runtime as an example
Linux Integrity Mechanisms - Protecting Container Runtime as an example
Clay (Chih-Hao) Chang
Ansibleの最近の動向を追ってみた
Ansibleの最近の動向を追ってみた
KeijiUehata1
WebSocket / WebRTCの技術紹介
WebSocket / WebRTCの技術紹介
Yasuhiro Mawarimichi
その ionice、ほんとに効いてますか?
その ionice、ほんとに効いてますか?
Narimichi Takamura
IPv6マルチプレフィックスの話
IPv6マルチプレフィックスの話
YasunobuToyota
本当にわかる Spectre と Meltdown
本当にわかる Spectre と Meltdown
Hirotaka Kawata
ゼロからはじめるKVM超入門
ゼロからはじめるKVM超入門
VirtualTech Japan Inc.
Recommended
Lxc で始めるケチケチ仮想化生活?!
Lxc で始めるケチケチ仮想化生活?!
Etsuji Nakai
Linux Integrity Mechanisms - Protecting Container Runtime as an example
Linux Integrity Mechanisms - Protecting Container Runtime as an example
Clay (Chih-Hao) Chang
Ansibleの最近の動向を追ってみた
Ansibleの最近の動向を追ってみた
KeijiUehata1
WebSocket / WebRTCの技術紹介
WebSocket / WebRTCの技術紹介
Yasuhiro Mawarimichi
その ionice、ほんとに効いてますか?
その ionice、ほんとに効いてますか?
Narimichi Takamura
IPv6マルチプレフィックスの話
IPv6マルチプレフィックスの話
YasunobuToyota
本当にわかる Spectre と Meltdown
本当にわかる Spectre と Meltdown
Hirotaka Kawata
ゼロからはじめるKVM超入門
ゼロからはじめるKVM超入門
VirtualTech Japan Inc.
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
モノビット エンジン
閉域網接続の技術入門
閉域網接続の技術入門
Masayuki Kobayashi
マイクロサービスバックエンドAPIのためのRESTとgRPC
マイクロサービスバックエンドAPIのためのRESTとgRPC
disc99_
今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月
今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月
VirtualTech Japan Inc.
CyberAgentにおけるMongoDB
CyberAgentにおけるMongoDB
Akihiro Kuwano
nginx入門
nginx入門
Takashi Takizawa
Docker Compose 徹底解説
Docker Compose 徹底解説
Masahito Zembutsu
【Swift】 それ、enumとstructでやってみましょう!!
【Swift】 それ、enumとstructでやってみましょう!!
Yu Tanaka
Innodb Deep Talk #2 でお話したスライド
Innodb Deep Talk #2 でお話したスライド
Yasufumi Kinoshita
ARM LinuxのMMUはわかりにくい
ARM LinuxのMMUはわかりにくい
wata2ki
第9回ACRiウェビナー_セック/岩渕様ご講演資料
第9回ACRiウェビナー_セック/岩渕様ご講演資料
直久 住川
Akka.NET 으로 만드는 온라인 게임 서버 (NDC2016)
Akka.NET 으로 만드는 온라인 게임 서버 (NDC2016)
Esun Kim
さくらのVPS で IPv4 over IPv6ルータの構築
さくらのVPS で IPv4 over IPv6ルータの構築
Tomocha Potter
文字コードに起因する脆弱性とその対策(増補版)
文字コードに起因する脆弱性とその対策(増補版)
Hiroshi Tokumaru
AWSインスタンス設定手順書
AWSインスタンス設定手順書
iret, Inc.
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
NTT Communications Technology Development
MySQLレプリケーションあれやこれや
MySQLレプリケーションあれやこれや
yoku0825
칸반(Kanban)
칸반(Kanban)
영기 김
HTTP入門
HTTP入門
Sota Sugiura
ライブストリーミング低遅延化の取り組み @ DeNA
ライブストリーミング低遅延化の取り組み @ DeNA
akirahiguchi
あなたの安心を高速に守る Container-based CI
あなたの安心を高速に守る Container-based CI
Wataru MIYAGUNI
20121205 jjbug
20121205 jjbug
Tohru Kobayashi
More Related Content
What's hot
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
モノビット エンジン
閉域網接続の技術入門
閉域網接続の技術入門
Masayuki Kobayashi
マイクロサービスバックエンドAPIのためのRESTとgRPC
マイクロサービスバックエンドAPIのためのRESTとgRPC
disc99_
今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月
今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月
VirtualTech Japan Inc.
CyberAgentにおけるMongoDB
CyberAgentにおけるMongoDB
Akihiro Kuwano
nginx入門
nginx入門
Takashi Takizawa
Docker Compose 徹底解説
Docker Compose 徹底解説
Masahito Zembutsu
【Swift】 それ、enumとstructでやってみましょう!!
【Swift】 それ、enumとstructでやってみましょう!!
Yu Tanaka
Innodb Deep Talk #2 でお話したスライド
Innodb Deep Talk #2 でお話したスライド
Yasufumi Kinoshita
ARM LinuxのMMUはわかりにくい
ARM LinuxのMMUはわかりにくい
wata2ki
第9回ACRiウェビナー_セック/岩渕様ご講演資料
第9回ACRiウェビナー_セック/岩渕様ご講演資料
直久 住川
Akka.NET 으로 만드는 온라인 게임 서버 (NDC2016)
Akka.NET 으로 만드는 온라인 게임 서버 (NDC2016)
Esun Kim
さくらのVPS で IPv4 over IPv6ルータの構築
さくらのVPS で IPv4 over IPv6ルータの構築
Tomocha Potter
文字コードに起因する脆弱性とその対策(増補版)
文字コードに起因する脆弱性とその対策(増補版)
Hiroshi Tokumaru
AWSインスタンス設定手順書
AWSインスタンス設定手順書
iret, Inc.
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
NTT Communications Technology Development
MySQLレプリケーションあれやこれや
MySQLレプリケーションあれやこれや
yoku0825
칸반(Kanban)
칸반(Kanban)
영기 김
HTTP入門
HTTP入門
Sota Sugiura
ライブストリーミング低遅延化の取り組み @ DeNA
ライブストリーミング低遅延化の取り組み @ DeNA
akirahiguchi
What's hot
(20)
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
閉域網接続の技術入門
閉域網接続の技術入門
マイクロサービスバックエンドAPIのためのRESTとgRPC
マイクロサービスバックエンドAPIのためのRESTとgRPC
今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月
今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月
CyberAgentにおけるMongoDB
CyberAgentにおけるMongoDB
nginx入門
nginx入門
Docker Compose 徹底解説
Docker Compose 徹底解説
【Swift】 それ、enumとstructでやってみましょう!!
【Swift】 それ、enumとstructでやってみましょう!!
Innodb Deep Talk #2 でお話したスライド
Innodb Deep Talk #2 でお話したスライド
ARM LinuxのMMUはわかりにくい
ARM LinuxのMMUはわかりにくい
第9回ACRiウェビナー_セック/岩渕様ご講演資料
第9回ACRiウェビナー_セック/岩渕様ご講演資料
Akka.NET 으로 만드는 온라인 게임 서버 (NDC2016)
Akka.NET 으로 만드는 온라인 게임 서버 (NDC2016)
さくらのVPS で IPv4 over IPv6ルータの構築
さくらのVPS で IPv4 over IPv6ルータの構築
文字コードに起因する脆弱性とその対策(増補版)
文字コードに起因する脆弱性とその対策(増補版)
AWSインスタンス設定手順書
AWSインスタンス設定手順書
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
MySQLレプリケーションあれやこれや
MySQLレプリケーションあれやこれや
칸반(Kanban)
칸반(Kanban)
HTTP入門
HTTP入門
ライブストリーミング低遅延化の取り組み @ DeNA
ライブストリーミング低遅延化の取り組み @ DeNA
Similar to delayed_jobの自動再起動
あなたの安心を高速に守る Container-based CI
あなたの安心を高速に守る Container-based CI
Wataru MIYAGUNI
20121205 jjbug
20121205 jjbug
Tohru Kobayashi
FAV001_はじめよう自己監視
FAV001_はじめよう自己監視
Hiroki.lzh
運用の現場での監視運用ツールの活用
運用の現場での監視運用ツールの活用
真治 米田
Jbatch実践入門 #jdt2015
Jbatch実践入門 #jdt2015
Norito Agetsuma
ロボットシステム学2015年第9回
ロボットシステム学2015年第9回
Ryuichi Ueda
Github Actionsで始めるROS/ROS2のCI
Github Actionsで始めるROS/ROS2のCI
Atsuki Yokota
ビットキーのIoT基盤におけるAWS IoT Rule Action 活用
ビットキーのIoT基盤におけるAWS IoT Rule Action 活用
Ryo Sasaki
[Okta x Jamf合同新年会] Okta Workflowsによるノーコード業務改善 〜Jamf APIを使ってMac端末情報を自動収集してみよう〜
[Okta x Jamf合同新年会] Okta Workflowsによるノーコード業務改善 〜Jamf APIを使ってMac端末情報を自動収集してみよう〜
Ryo Sasaki
第8回 福岡西区勉強会
第8回 福岡西区勉強会
Shinya Kinoshita
DevOpsのはじめの一歩 〜監視の変遷〜
DevOpsのはじめの一歩 〜監視の変遷〜
Akihiro Kuwano
JobScheduler Code Reading
JobScheduler Code Reading
Shinobu Okano
Device Farm を使ったスマホアプリの自動テスト
Device Farm を使ったスマホアプリの自動テスト
健一 辰濱
インフラ自動化とHashicorp tools
インフラ自動化とHashicorp tools
Uchio Kondo
配布用Supervisordによるnode.jsの運用
配布用Supervisordによるnode.jsの運用
yut148atgmaildotcom
バージョン管理
バージョン管理
Misa Kondo
Gitoriousをubuntu 10.04 LTSへインストール
Gitoriousをubuntu 10.04 LTSへインストール
Kiyoshi SATOH
密着! nibohsiデプロイ 13:00-13:05 - railsアプリのデプロイ事例 -
密着! nibohsiデプロイ 13:00-13:05 - railsアプリのデプロイ事例 -
Yukihiko SAWANOBORI
恋するJenkins
恋するJenkins
Hiroshi Nakao
運用効率化・運用自動化を実現するHinemosのご紹介
運用効率化・運用自動化を実現するHinemosのご紹介
Hinemos
Similar to delayed_jobの自動再起動
(20)
あなたの安心を高速に守る Container-based CI
あなたの安心を高速に守る Container-based CI
20121205 jjbug
20121205 jjbug
FAV001_はじめよう自己監視
FAV001_はじめよう自己監視
運用の現場での監視運用ツールの活用
運用の現場での監視運用ツールの活用
Jbatch実践入門 #jdt2015
Jbatch実践入門 #jdt2015
ロボットシステム学2015年第9回
ロボットシステム学2015年第9回
Github Actionsで始めるROS/ROS2のCI
Github Actionsで始めるROS/ROS2のCI
ビットキーのIoT基盤におけるAWS IoT Rule Action 活用
ビットキーのIoT基盤におけるAWS IoT Rule Action 活用
[Okta x Jamf合同新年会] Okta Workflowsによるノーコード業務改善 〜Jamf APIを使ってMac端末情報を自動収集してみよう〜
[Okta x Jamf合同新年会] Okta Workflowsによるノーコード業務改善 〜Jamf APIを使ってMac端末情報を自動収集してみよう〜
第8回 福岡西区勉強会
第8回 福岡西区勉強会
DevOpsのはじめの一歩 〜監視の変遷〜
DevOpsのはじめの一歩 〜監視の変遷〜
JobScheduler Code Reading
JobScheduler Code Reading
Device Farm を使ったスマホアプリの自動テスト
Device Farm を使ったスマホアプリの自動テスト
インフラ自動化とHashicorp tools
インフラ自動化とHashicorp tools
配布用Supervisordによるnode.jsの運用
配布用Supervisordによるnode.jsの運用
バージョン管理
バージョン管理
Gitoriousをubuntu 10.04 LTSへインストール
Gitoriousをubuntu 10.04 LTSへインストール
密着! nibohsiデプロイ 13:00-13:05 - railsアプリのデプロイ事例 -
密着! nibohsiデプロイ 13:00-13:05 - railsアプリのデプロイ事例 -
恋するJenkins
恋するJenkins
運用効率化・運用自動化を実現するHinemosのご紹介
運用効率化・運用自動化を実現するHinemosのご紹介
More from firewood
Best Bugs 2017 in the SmartNews iOS app
Best Bugs 2017 in the SmartNews iOS app
firewood
Xcodeでmrubyをステップ実行してみた
Xcodeでmrubyをステップ実行してみた
firewood
Xcodeで値を表示する
Xcodeで値を表示する
firewood
SmartNewsアプリの品質
SmartNewsアプリの品質
firewood
WkWebViewのキャッシュについて調べた
WkWebViewのキャッシュについて調べた
firewood
C++でHello worldを書いてみた
C++でHello worldを書いてみた
firewood
フィルタドライバ入門
フィルタドライバ入門
firewood
三日で書くGroonga関数
三日で書くGroonga関数
firewood
L-R
L-R
firewood
FPGA
FPGA
firewood
More from firewood
(10)
Best Bugs 2017 in the SmartNews iOS app
Best Bugs 2017 in the SmartNews iOS app
Xcodeでmrubyをステップ実行してみた
Xcodeでmrubyをステップ実行してみた
Xcodeで値を表示する
Xcodeで値を表示する
SmartNewsアプリの品質
SmartNewsアプリの品質
WkWebViewのキャッシュについて調べた
WkWebViewのキャッシュについて調べた
C++でHello worldを書いてみた
C++でHello worldを書いてみた
フィルタドライバ入門
フィルタドライバ入門
三日で書くGroonga関数
三日で書くGroonga関数
L-R
L-R
FPGA
FPGA
delayed_jobの自動再起動
1.
delayed_job の自動再起動 Shinjuku.rb #29 firewood@github
2.
対象サイト https://competitiveprogramming.info/ Rails
4.0 コンテスト情報の更新の際に delayed_job を使用
3.
背景 delayed_job のイメージ
( 偏見 ) redis 等が不要なので手軽 たまにゾンビプロセス化する
4.
要求 落ちること自体は仕方ない ただし、正常に動いてないなら自動的 に再起動してほしい
5.
信頼する・しない monit (
デーモンの監視 ) とりあえず信頼する delayed_job 完了したタスクについては信頼する 常に生きてるとは思わないことにする
6.
monit https://mmonit.com/monit/ 様々な種類のリソースが監視できる
process ID(PID) 、ポート、 CPU 負荷など
7.
何を監視するか決める プロセスは存在しているが仕事をして いなかったり、ポートは開いているが サービスを提供していなかったりする 実際の仕事を監視したほうがいい
一箇所だけならアプリケーションレベルで 監視する
8.
基本方針 cron で
delayed_job にタスクを積む ファイルの日付を更新するだけの touch と いうタスク タスクが実行されなかったら monit 経 由で再起動させる
9.
crontab -l 0,30 *
* * * /bin/bash -lc 'cd /data/compinfo/current && ./bin/rake hoge:touch‘ 30 分に一度タスクを積む
10.
/etc/monit.d/delayed_job check file delayed_job
with path /data/compinfo/shared/tmp/pids/alive if timestamp > 60 minutes then restart start program = “/bin/su - user –c 'cd /data/compinfo/current; bin/delayed_job start; bin/rake hoge:touch'“ stop program = "/bin/su - user –c 'cd /data/compinfo/current; bin/delayed_job stop'“ 60 分更新がなければ、 delayed_job を再起動させてタスクを積む
11.
lib/tasks/hoge.rake namespace :hoge do task
:touch => :environment do Hoge.delay.touch end end Hoge.touch をタスクに積 む
12.
touch class Hoge <
ActiveRecord::Base def self.touch FileUtils.touch Rails.root.join('tmp/pids/alive') end end ファイルのタイムスタンプを更新す る
13.
課題 再起動するまでが長い → プロセスが落ちている場合にも再起動す る
monit の default の監視間隔が 1 分なの で、復帰直後に重いタスクがあると再 起動してしまう → すべてのタスクの先頭で Hoge.touch を呼 ぶようにする
Download now