SlideShare a Scribd company logo
Task Spooler を試した
内山 雄司 (@y__uti)
2016-09-13 社内勉強会
自己紹介
内山 雄司 (@y__uti)
◦ http://y-uti.hatenablog.jp/ (phpusers-ja)
仕事
◦ 受託開発の会社 (株式会社ピコラボ) でプログラマをしています
興味
◦ プログラミング言語処理系
◦ 機械学習
2016-09-13 社内勉強会 2
Task Spooler
http://vicerveza.homeunix.net/~viric/soft/ts/
2016-09-13 社内勉強会 3
Task Spooler とは?
簡易ジョブ管理システム的なもの
Task Spooler ができること
◦ 最大同時実行数を設定してプロセスを並列実行する
◦ プロセスの状態や実行結果を管理する
◦ プロセスの実行条件 (依存関係) を指定する
Task Spooler ではできないこと
◦ 複雑なことは概ねできない
◦ ジョブの実行時刻を指定するとか (cron じゃないから)
◦ 異常終了したら通知するとか
◦ トリッキーなジョブを仕掛ければできるかもしれないが・・・
2016-09-13 社内勉強会 4
何をしてくれるのか
最大同時実行数を設定してプロセスを並列実行する
2016-09-13 社内勉強会 5
実行待ち 実行中 実行済み
何をしてくれるのか
最大同時実行数を設定してプロセスを並列実行する
2016-09-13 社内勉強会 6
実行待ち 実行中 実行済み
終わった!
何をしてくれるのか
最大同時実行数を設定してプロセスを並列実行する
2016-09-13 社内勉強会 7
実行待ち 実行中 実行済み
次!
インストール
ソースコードを取得してビルドする
2016-09-13 社内勉強会 8
$ wget http://vicerveza.homeunix.net/~viric/soft/ts/ts-
0.7.6.tar.gz
$ tar xf ts-0.7.6.tar.gz
$ cd ts-0.7.6
$ make
$ make PREFIX=.. install
◦ インストールされるのは以下の 2 ファイル
◦ $PREFIX/bin/ts
◦ $PREFIX/share/man/man1/ts.1
◦ ちなみに GPL version 2.0
基本的な使い方 [1/2]
最大同時実行数を設定する
2016-09-13 社内勉強会 9
$ ts -S 4
◦ 4 プロセスまで同時実行
確認
$ ts
ID State Output E-Level Times(r/u/s) Command [run=0/4]
基本的な使い方 [2/2]
ジョブをキューに登録する
2016-09-13 社内勉強会 10
$ for i in $(seq 1 10); do ts sleep $i; done
0
1
2
3
4
5
6
7
8
9
◦ i = 1 ~ 10 として「$i 秒 sleep する」ジョブを登録した
実行の様子
キューの状態を確認する
実行直後
2016-09-13 社内勉強会 11
$ ts
ID State Output E-Level Times(r/u/s) Command [run=4/4]
0 running /tmp/ts-out.sWEDhd sleep 1
1 running /tmp/ts-out.2FZb9f sleep 2
2 running /tmp/ts-out.g4nEOg sleep 3
3 running /tmp/ts-out.E7hDyg sleep 4
4 queued (file) sleep 5
5 queued (file) sleep 6
6 queued (file) sleep 7
7 queued (file) sleep 8
8 queued (file) sleep 9
9 queued (file) sleep 10
実行の様子
キューの状態を確認する
1秒後
2016-09-13 社内勉強会 12
$ ts
ID State Output E-Level Times(r/u/s) Command [run=4/4]
1 running /tmp/ts-out.2FZb9f sleep 2
2 running /tmp/ts-out.g4nEOg sleep 3
3 running /tmp/ts-out.E7hDyg sleep 4
4 running /tmp/ts-out.iNqnyi sleep 5
5 queued (file) sleep 6
6 queued (file) sleep 7
7 queued (file) sleep 8
8 queued (file) sleep 9
9 queued (file) sleep 10
0 finished /tmp/ts-out.sWEDhd 0 1.01/0.00/0.00 sleep 1
◦ 一秒ごとに ts コマンドを実行しています
◦ 自動更新されるわけではない
実行の様子
キューの状態を確認する
2秒後
2016-09-13 社内勉強会 13
$ ts
ID State Output E-Level Times(r/u/s) Command [run=4/4]
2 running /tmp/ts-out.g4nEOg sleep 3
3 running /tmp/ts-out.E7hDyg sleep 4
4 running /tmp/ts-out.iNqnyi sleep 5
5 running /tmp/ts-out.zLJ4Ci sleep 6
6 queued (file) sleep 7
7 queued (file) sleep 8
8 queued (file) sleep 9
9 queued (file) sleep 10
0 finished /tmp/ts-out.sWEDhd 0 1.01/0.00/0.00 sleep 1
1 finished /tmp/ts-out.2FZb9f 0 2.02/0.00/0.00 sleep 2
◦ 一秒ごとに ts コマンドを実行しています
◦ 自動更新されるわけではない
実行の様子
キューの状態を確認する
3秒後
2016-09-13 社内勉強会 14
$ ts
ID State Output E-Level Times(r/u/s) Command [run=4/4]
3 running /tmp/ts-out.E7hDyg sleep 4
4 running /tmp/ts-out.iNqnyi sleep 5
5 running /tmp/ts-out.zLJ4Ci sleep 6
6 running /tmp/ts-out.kjWcqk sleep 7
7 queued (file) sleep 8
8 queued (file) sleep 9
9 queued (file) sleep 10
0 finished /tmp/ts-out.sWEDhd 0 1.01/0.00/0.00 sleep 1
1 finished /tmp/ts-out.2FZb9f 0 2.02/0.00/0.00 sleep 2
2 finished /tmp/ts-out.g4nEOg 0 3.01/0.00/0.00 sleep 3
◦ 一秒ごとに ts コマンドを実行しています
◦ 自動更新されるわけではない
実行の様子
キューの状態を確認する
・・・
2016-09-13 社内勉強会 15
$ ts
ID State Output E-Level Times(r/u/s) Command [run=4/4]
4 running /tmp/ts-out.iNqnyi sleep 5
5 running /tmp/ts-out.zLJ4Ci sleep 6
6 running /tmp/ts-out.kjWcqk sleep 7
7 running /tmp/ts-out.i9BXum sleep 8
8 queued (file) sleep 9
9 queued (file) sleep 10
0 finished /tmp/ts-out.sWEDhd 0 1.01/0.00/0.00 sleep 1
1 finished /tmp/ts-out.2FZb9f 0 2.02/0.00/0.00 sleep 2
2 finished /tmp/ts-out.g4nEOg 0 3.01/0.00/0.00 sleep 3
3 finished /tmp/ts-out.E7hDyg 0 4.00/0.00/0.00 sleep 4
◦ 一秒ごとに ts コマンドを実行しています
◦ 自動更新されるわけではない
実行の様子
キューの状態を確認する
・・・
2016-09-13 社内勉強会 16
$ ts
ID State Output E-Level Times(r/u/s) Command [run=4/4]
5 running /tmp/ts-out.zLJ4Ci sleep 6
6 running /tmp/ts-out.kjWcqk sleep 7
7 running /tmp/ts-out.i9BXum sleep 8
8 running /tmp/ts-out.AWi5Dq sleep 9
9 queued (file) sleep 10
0 finished /tmp/ts-out.sWEDhd 0 1.01/0.00/0.00 sleep 1
1 finished /tmp/ts-out.2FZb9f 0 2.02/0.00/0.00 sleep 2
2 finished /tmp/ts-out.g4nEOg 0 3.01/0.00/0.00 sleep 3
3 finished /tmp/ts-out.E7hDyg 0 4.00/0.00/0.00 sleep 4
4 finished /tmp/ts-out.iNqnyi 0 5.01/0.00/0.00 sleep 5
◦ 一秒ごとに ts コマンドを実行しています
◦ 自動更新されるわけではない
実行の様子
キューの状態を確認する
・・・
2016-09-13 社内勉強会 17
$ ts
ID State Output E-Level Times(r/u/s) Command [run=4/4]
6 running /tmp/ts-out.kjWcqk sleep 7
7 running /tmp/ts-out.i9BXum sleep 8
8 running /tmp/ts-out.AWi5Dq sleep 9
9 running /tmp/ts-out.kVAX0u sleep 10
0 finished /tmp/ts-out.sWEDhd 0 1.01/0.00/0.00 sleep 1
1 finished /tmp/ts-out.2FZb9f 0 2.02/0.00/0.00 sleep 2
2 finished /tmp/ts-out.g4nEOg 0 3.01/0.00/0.00 sleep 3
3 finished /tmp/ts-out.E7hDyg 0 4.00/0.00/0.00 sleep 4
4 finished /tmp/ts-out.iNqnyi 0 5.01/0.00/0.00 sleep 5
5 finished /tmp/ts-out.zLJ4Ci 0 6.01/0.00/0.00 sleep 6
◦ 一秒ごとに ts コマンドを実行しています
◦ 自動更新されるわけではない
実行の様子
キューの状態を確認する
・・・
2016-09-13 社内勉強会 18
$ ts
ID State Output E-Level Times(r/u/s) Command [run=3/4]
7 running /tmp/ts-out.i9BXum sleep 8
8 running /tmp/ts-out.AWi5Dq sleep 9
9 running /tmp/ts-out.kVAX0u sleep 10
0 finished /tmp/ts-out.sWEDhd 0 1.01/0.00/0.00 sleep 1
1 finished /tmp/ts-out.2FZb9f 0 2.02/0.00/0.00 sleep 2
2 finished /tmp/ts-out.g4nEOg 0 3.01/0.00/0.00 sleep 3
3 finished /tmp/ts-out.E7hDyg 0 4.00/0.00/0.00 sleep 4
4 finished /tmp/ts-out.iNqnyi 0 5.01/0.00/0.00 sleep 5
5 finished /tmp/ts-out.zLJ4Ci 0 6.01/0.00/0.00 sleep 6
6 finished /tmp/ts-out.kjWcqk 0 7.00/0.00/0.00 sleep 7
◦ 一秒ごとに ts コマンドを実行しています
◦ 自動更新されるわけではない
実行の様子
キューの状態を確認する
・・・
2016-09-13 社内勉強会 19
$ ts
ID State Output E-Level Times(r/u/s) Command [run=2/4]
8 running /tmp/ts-out.AWi5Dq sleep 9
9 running /tmp/ts-out.kVAX0u sleep 10
0 finished /tmp/ts-out.sWEDhd 0 1.01/0.00/0.00 sleep 1
1 finished /tmp/ts-out.2FZb9f 0 2.02/0.00/0.00 sleep 2
2 finished /tmp/ts-out.g4nEOg 0 3.01/0.00/0.00 sleep 3
3 finished /tmp/ts-out.E7hDyg 0 4.00/0.00/0.00 sleep 4
4 finished /tmp/ts-out.iNqnyi 0 5.01/0.00/0.00 sleep 5
5 finished /tmp/ts-out.zLJ4Ci 0 6.01/0.00/0.00 sleep 6
6 finished /tmp/ts-out.kjWcqk 0 7.00/0.00/0.00 sleep 7
7 finished /tmp/ts-out.i9BXum 0 8.01/0.00/0.00 sleep 8
◦ 一秒ごとに ts コマンドを実行しています
◦ 自動更新されるわけではない
実行の様子
キューの状態を確認する
・・・
2016-09-13 社内勉強会 20
$ ts
ID State Output E-Level Times(r/u/s) Command [run=1/4]
9 running /tmp/ts-out.kVAX0u sleep 10
0 finished /tmp/ts-out.sWEDhd 0 1.01/0.00/0.00 sleep 1
1 finished /tmp/ts-out.2FZb9f 0 2.02/0.00/0.00 sleep 2
2 finished /tmp/ts-out.g4nEOg 0 3.01/0.00/0.00 sleep 3
3 finished /tmp/ts-out.E7hDyg 0 4.00/0.00/0.00 sleep 4
4 finished /tmp/ts-out.iNqnyi 0 5.01/0.00/0.00 sleep 5
5 finished /tmp/ts-out.zLJ4Ci 0 6.01/0.00/0.00 sleep 6
6 finished /tmp/ts-out.kjWcqk 0 7.00/0.00/0.00 sleep 7
7 finished /tmp/ts-out.i9BXum 0 8.01/0.00/0.00 sleep 8
8 finished /tmp/ts-out.AWi5Dq 0 9.00/0.00/0.00 sleep 9
◦ 一秒ごとに ts コマンドを実行しています
◦ 自動更新されるわけではない
実行の様子
キューの状態を確認する
終わり
2016-09-13 社内勉強会 21
$ ts
ID State Output E-Level Times(r/u/s) Command [run=0/4]
0 finished /tmp/ts-out.sWEDhd 0 1.01/0.00/0.00 sleep 1
1 finished /tmp/ts-out.2FZb9f 0 2.02/0.00/0.00 sleep 2
2 finished /tmp/ts-out.g4nEOg 0 3.01/0.00/0.00 sleep 3
3 finished /tmp/ts-out.E7hDyg 0 4.00/0.00/0.00 sleep 4
4 finished /tmp/ts-out.iNqnyi 0 5.01/0.00/0.00 sleep 5
5 finished /tmp/ts-out.zLJ4Ci 0 6.01/0.00/0.00 sleep 6
6 finished /tmp/ts-out.kjWcqk 0 7.00/0.00/0.00 sleep 7
7 finished /tmp/ts-out.i9BXum 0 8.01/0.00/0.00 sleep 8
8 finished /tmp/ts-out.AWi5Dq 0 9.00/0.00/0.00 sleep 9
9 finished /tmp/ts-out.kVAX0u 0 10.00/0.00/0.00 sleep 10
◦ 一秒ごとに ts コマンドを実行しています
◦ 自動更新されるわけではない
ts のオプション [1/3]
ジョブの情報を確認する
2016-09-13 社内勉強会 22
オプション 意味
-t [id] 指定されたジョブの出力を tail -f する
-c [id] 指定されたジョブの出力を cat する
-p [id] 指定されたジョブのプロセス ID を表示する
-o [id] 指定されたジョブの出力ファイル名を表示する
-i [id] 指定されたジョブの情報を表示する
-s [id] 指定されたジョブの状態を表示する
ts -i [id]
指定されたジョブの情報を表示する
2016-09-13 社内勉強会 23
$ ts -i 3
Exit status: died with exit code 0
Command: sleep 4
Slots required: 1
Enqueue time: Mon Sep 12 22:07:56 2016
Start time: Mon Sep 12 22:07:56 2016
End time: Mon Sep 12 22:08:00 2016
Time run: 4.004059s
ts のオプション [2/3]
ジョブの実行を制御する
2016-09-13 社内勉強会 24
オプション 意味
-r [id] 指定されたジョブをキューから取り除く
-w [id] 指定されたジョブが終わるまで待つ
-k [id] 指定されたジョブを kill する (SIGTERM)
-u [id] 指定されたジョブをキューの先頭に移動する
-U <id>-<id> 指定された二つのジョブの位置を入れ替える
ts のオプション [3/3]
ジョブを登録するときのオプション
2016-09-13 社内勉強会 25
オプション 意味
-n ジョブの出力をファイルに保存しない
-E ジョブの標準出力と標準エラーを分けて出力する
-g ジョブの出力を gzip する
-f バックグラウンドで fork しない (未確認)
-m ジョブの出力をメールで送信する (未確認)
-d 直前のジョブが正常終了したときだけ実行する
-D <id> 指定されたジョブが正常終了したときだけ実行する
-L <lab> ジョブに名前を付ける
-N <num> ジョブが使うスロット数を指定する
ts -D [id]
指定されたジョブが正常終了したときだけ実行する
2016-09-13 社内勉強会 26
$ ts -S 2
$ ts sleep 20
0
$ ts sleep 10
1
$ ts -D 0 sleep 5
2
$ ts sleep 5
3
◦ ID = 2 のジョブは ID = 0 のジョブが正常終了したら実行が始まる
実行の様子
実行直後
2016-09-13 社内勉強会 27
$ ts
ID State Output E-Level Times(r/u/s) Command [run=2/2]
0 running /tmp/ts-out.flebwV sleep 20
1 running /tmp/ts-out.RGTygW sleep 10
2 queued (file) [0]&& sleep 5
3 queued (file) sleep 5
実行の様子
10 秒後
2016-09-13 社内勉強会 28
$ ts
ID State Output E-Level Times(r/u/s) Command [run=2/2]
0 running /tmp/ts-out.flebwV sleep 20
2 queued (file) [0]&& sleep 5
3 running /tmp/ts-out.4MUpNi sleep 5
1 finished /tmp/ts-out.RGTygW 0 10.01/0.00/0.00 sleep 10
◦ ID = 1 のジョブが終了する
◦ ID = 2 のジョブは ID = 0 を待っているので実行が開始されない
◦ ID = 3 のジョブの実行が開始される
実行の様子
15 秒後
2016-09-13 社内勉強会 29
$ ts
ID State Output E-Level Times(r/u/s) Command [run=1/2]
0 running /tmp/ts-out.flebwV sleep 20
2 queued (file) [0]&& sleep 5
1 finished /tmp/ts-out.RGTygW 0 10.01/0.00/0.00 sleep 10
3 finished /tmp/ts-out.4MUpNi 0 5.01/0.00/0.00 sleep 5
◦ ID = 3 のジョブが終了する
◦ ID = 2 のジョブは ID = 0 を待っているので実行が開始されない
実行の様子
20 秒後
2016-09-13 社内勉強会 30
$ ts
ID State Output E-Level Times(r/u/s) Command [run=1/2]
2 running /tmp/ts-out.c9eVnz [0]&& sleep 5
1 finished /tmp/ts-out.RGTygW 0 10.01/0.00/0.00 sleep 10
3 finished /tmp/ts-out.4MUpNi 0 5.01/0.00/0.00 sleep 5
0 finished /tmp/ts-out.flebwV 0 20.01/0.00/0.00 sleep 20
◦ ID = 0 のジョブが終了する
◦ ID = 2 のジョブの実行が開始される
実行の様子
25 秒後
2016-09-13 社内勉強会 31
$ ts
ID State Output E-Level Times(r/u/s) Command [run=0/2]
1 finished /tmp/ts-out.RGTygW 0 10.01/0.00/0.00 sleep 10
3 finished /tmp/ts-out.4MUpNi 0 5.01/0.00/0.00 sleep 5
0 finished /tmp/ts-out.flebwV 0 20.01/0.00/0.00 sleep 20
2 finished /tmp/ts-out.c9eVnz 0 5.01/0.00/0.00 [0]&& sleep 5
◦ ID = 2 のジョブが終了する
ところで
-D って複数指定できるの?
◦ できない!
◦ 右図のような制御ができない
プログラムを修正すればできる
◦ 実際できた
◦ -D の値を int で持っているのを
配列に変更するだけ
2016-09-13 社内勉強会 32
ここができない!
ts の後片付け
バックグラウンドの ts サーバプロセスを終了する
2016-09-13 社内勉強会 33
$ ts -K
◦ 必要になったとき (ジョブを登録したとき等) に自動起動している
おわり
詳細は ts -h
説明していないオプションもあるよ
2016-09-13 社内勉強会 34

More Related Content

What's hot

型安全性入門
型安全性入門型安全性入門
型安全性入門
Akinori Abe
 
DockerコンテナでGitを使う
DockerコンテナでGitを使うDockerコンテナでGitを使う
DockerコンテナでGitを使う
Kazuhiro Suga
 
研究の呪い
研究の呪い研究の呪い
研究の呪い
Hitoshi Nishikawa
 
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」数学カフェ 確率・統計・機械学習回 「速習 確率・統計」
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」
Ken'ichi Matsui
 
Gocon2017:Goのロギング周りの考察
Gocon2017:Goのロギング周りの考察Gocon2017:Goのロギング周りの考察
Gocon2017:Goのロギング周りの考察
貴仁 大和屋
 
高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装
MITSUNARI Shigeo
 
君はyarn.lockをコミットしているか?
君はyarn.lockをコミットしているか?君はyarn.lockをコミットしているか?
君はyarn.lockをコミットしているか?
Teppei Sato
 
集約署名
集約署名集約署名
集約署名
MITSUNARI Shigeo
 
コンピュータビジョンの最新ソフトウェア開発環境 SSII2015 チュートリアル hayashi
コンピュータビジョンの最新ソフトウェア開発環境 SSII2015 チュートリアル hayashiコンピュータビジョンの最新ソフトウェア開発環境 SSII2015 チュートリアル hayashi
コンピュータビジョンの最新ソフトウェア開発環境 SSII2015 チュートリアル hayashi
Masaki Hayashi
 
他山の石勉強会 DRBD編
他山の石勉強会 DRBD編他山の石勉強会 DRBD編
他山の石勉強会 DRBD編
tkomachi
 
エキスパートPythonプログラミング改訂3版の読みどころ
エキスパートPythonプログラミング改訂3版の読みどころエキスパートPythonプログラミング改訂3版の読みどころ
エキスパートPythonプログラミング改訂3版の読みどころ
Takayuki Shimizukawa
 
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptxネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
Shota Shinogi
 
Pythonのシグナル処理
Pythonのシグナル処理Pythonのシグナル処理
Pythonのシグナル処理
Atsuo Ishimoto
 
IoT時代におけるストリームデータ処理と急成長の Apache Flink
IoT時代におけるストリームデータ処理と急成長の Apache FlinkIoT時代におけるストリームデータ処理と急成長の Apache Flink
IoT時代におけるストリームデータ処理と急成長の Apache Flink
Takanori Suzuki
 
コンピュータビジョンの研究開発状況
コンピュータビジョンの研究開発状況コンピュータビジョンの研究開発状況
コンピュータビジョンの研究開発状況
cvpaper. challenge
 
検索可能暗号の概観と今後の展望(第2回次世代セキュア情報基盤ワークショップ)
検索可能暗号の概観と今後の展望(第2回次世代セキュア情報基盤ワークショップ)検索可能暗号の概観と今後の展望(第2回次世代セキュア情報基盤ワークショップ)
検索可能暗号の概観と今後の展望(第2回次世代セキュア情報基盤ワークショップ)
Akira Kanaoka
 
[DL輪読会]Diffusion-based Voice Conversion with Fast Maximum Likelihood Samplin...
[DL輪読会]Diffusion-based Voice Conversion with Fast  Maximum Likelihood Samplin...[DL輪読会]Diffusion-based Voice Conversion with Fast  Maximum Likelihood Samplin...
[DL輪読会]Diffusion-based Voice Conversion with Fast Maximum Likelihood Samplin...
Deep Learning JP
 
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
RyuichiKanoh
 
[Track2-5] CPUだけでAIをやり切った最近のお客様事例 と インテルの先進的な取り組み
[Track2-5] CPUだけでAIをやり切った最近のお客様事例 と インテルの先進的な取り組み[Track2-5] CPUだけでAIをやり切った最近のお客様事例 と インテルの先進的な取り組み
[Track2-5] CPUだけでAIをやり切った最近のお客様事例 と インテルの先進的な取り組み
Deep Learning Lab(ディープラーニング・ラボ)
 
マッチングサービスにおけるKPIの話
マッチングサービスにおけるKPIの話マッチングサービスにおけるKPIの話
マッチングサービスにおけるKPIの話
cyberagent
 

What's hot (20)

型安全性入門
型安全性入門型安全性入門
型安全性入門
 
DockerコンテナでGitを使う
DockerコンテナでGitを使うDockerコンテナでGitを使う
DockerコンテナでGitを使う
 
研究の呪い
研究の呪い研究の呪い
研究の呪い
 
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」数学カフェ 確率・統計・機械学習回 「速習 確率・統計」
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」
 
Gocon2017:Goのロギング周りの考察
Gocon2017:Goのロギング周りの考察Gocon2017:Goのロギング周りの考察
Gocon2017:Goのロギング周りの考察
 
高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装
 
君はyarn.lockをコミットしているか?
君はyarn.lockをコミットしているか?君はyarn.lockをコミットしているか?
君はyarn.lockをコミットしているか?
 
集約署名
集約署名集約署名
集約署名
 
コンピュータビジョンの最新ソフトウェア開発環境 SSII2015 チュートリアル hayashi
コンピュータビジョンの最新ソフトウェア開発環境 SSII2015 チュートリアル hayashiコンピュータビジョンの最新ソフトウェア開発環境 SSII2015 チュートリアル hayashi
コンピュータビジョンの最新ソフトウェア開発環境 SSII2015 チュートリアル hayashi
 
他山の石勉強会 DRBD編
他山の石勉強会 DRBD編他山の石勉強会 DRBD編
他山の石勉強会 DRBD編
 
エキスパートPythonプログラミング改訂3版の読みどころ
エキスパートPythonプログラミング改訂3版の読みどころエキスパートPythonプログラミング改訂3版の読みどころ
エキスパートPythonプログラミング改訂3版の読みどころ
 
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptxネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
 
Pythonのシグナル処理
Pythonのシグナル処理Pythonのシグナル処理
Pythonのシグナル処理
 
IoT時代におけるストリームデータ処理と急成長の Apache Flink
IoT時代におけるストリームデータ処理と急成長の Apache FlinkIoT時代におけるストリームデータ処理と急成長の Apache Flink
IoT時代におけるストリームデータ処理と急成長の Apache Flink
 
コンピュータビジョンの研究開発状況
コンピュータビジョンの研究開発状況コンピュータビジョンの研究開発状況
コンピュータビジョンの研究開発状況
 
検索可能暗号の概観と今後の展望(第2回次世代セキュア情報基盤ワークショップ)
検索可能暗号の概観と今後の展望(第2回次世代セキュア情報基盤ワークショップ)検索可能暗号の概観と今後の展望(第2回次世代セキュア情報基盤ワークショップ)
検索可能暗号の概観と今後の展望(第2回次世代セキュア情報基盤ワークショップ)
 
[DL輪読会]Diffusion-based Voice Conversion with Fast Maximum Likelihood Samplin...
[DL輪読会]Diffusion-based Voice Conversion with Fast  Maximum Likelihood Samplin...[DL輪読会]Diffusion-based Voice Conversion with Fast  Maximum Likelihood Samplin...
[DL輪読会]Diffusion-based Voice Conversion with Fast Maximum Likelihood Samplin...
 
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
 
[Track2-5] CPUだけでAIをやり切った最近のお客様事例 と インテルの先進的な取り組み
[Track2-5] CPUだけでAIをやり切った最近のお客様事例 と インテルの先進的な取り組み[Track2-5] CPUだけでAIをやり切った最近のお客様事例 と インテルの先進的な取り組み
[Track2-5] CPUだけでAIをやり切った最近のお客様事例 と インテルの先進的な取り組み
 
マッチングサービスにおけるKPIの話
マッチングサービスにおけるKPIの話マッチングサービスにおけるKPIの話
マッチングサービスにおけるKPIの話
 

Viewers also liked

JIT for PHP を試した
JIT for PHP を試したJIT for PHP を試した
JIT for PHP を試した
y-uti
 
JIT のコードを読んでみた
JIT のコードを読んでみたJIT のコードを読んでみた
JIT のコードを読んでみた
y-uti
 
続Xamarinはじめました
続Xamarinはじめました続Xamarinはじめました
続Xamarinはじめました
Yuya Yamaki
 
Xamarinはじめました
XamarinはじめましたXamarinはじめました
Xamarinはじめました
Yuya Yamaki
 
Product catalog of Industrial Winch
Product catalog of Industrial WinchProduct catalog of Industrial Winch
Product catalog of Industrial Winch
Marek Daniel
 
Hydraulic winch
Hydraulic winchHydraulic winch
Hydraulic winch
Industrial Winch
 
introduction, drawing, calculation for winch design
introduction, drawing, calculation for winch designintroduction, drawing, calculation for winch design
introduction, drawing, calculation for winch designAman Huri
 
Lesson 2 Deck Equipment And Marlinspike Seamanship
Lesson 2 Deck Equipment And Marlinspike SeamanshipLesson 2 Deck Equipment And Marlinspike Seamanship
Lesson 2 Deck Equipment And Marlinspike SeamanshipGuilherme Azevedo
 
MOORING STATIONS - FOR MARITIME CADETS
MOORING STATIONS -    FOR MARITIME  CADETSMOORING STATIONS -    FOR MARITIME  CADETS
MOORING STATIONS - FOR MARITIME CADETS
Capt.Vivek Trivedi
 

Viewers also liked (9)

JIT for PHP を試した
JIT for PHP を試したJIT for PHP を試した
JIT for PHP を試した
 
JIT のコードを読んでみた
JIT のコードを読んでみたJIT のコードを読んでみた
JIT のコードを読んでみた
 
続Xamarinはじめました
続Xamarinはじめました続Xamarinはじめました
続Xamarinはじめました
 
Xamarinはじめました
XamarinはじめましたXamarinはじめました
Xamarinはじめました
 
Product catalog of Industrial Winch
Product catalog of Industrial WinchProduct catalog of Industrial Winch
Product catalog of Industrial Winch
 
Hydraulic winch
Hydraulic winchHydraulic winch
Hydraulic winch
 
introduction, drawing, calculation for winch design
introduction, drawing, calculation for winch designintroduction, drawing, calculation for winch design
introduction, drawing, calculation for winch design
 
Lesson 2 Deck Equipment And Marlinspike Seamanship
Lesson 2 Deck Equipment And Marlinspike SeamanshipLesson 2 Deck Equipment And Marlinspike Seamanship
Lesson 2 Deck Equipment And Marlinspike Seamanship
 
MOORING STATIONS - FOR MARITIME CADETS
MOORING STATIONS -    FOR MARITIME  CADETSMOORING STATIONS -    FOR MARITIME  CADETS
MOORING STATIONS - FOR MARITIME CADETS
 

Similar to Task Spooler を試した

Android デバッグ小ネタ
Android デバッグ小ネタAndroid デバッグ小ネタ
Android デバッグ小ネタ
l_b__
 
Mon, Muninによる楽々監視生活
Mon, Muninによる楽々監視生活Mon, Muninによる楽々監視生活
Mon, Muninによる楽々監視生活
Akihiro Kuwano
 
initとプロセス再起動
initとプロセス再起動initとプロセス再起動
initとプロセス再起動Takashi Takizawa
 
Cloud9にリモートデスクトップ接続する
Cloud9にリモートデスクトップ接続するCloud9にリモートデスクトップ接続する
Cloud9にリモートデスクトップ接続する
Ryo Ishii
 
Gingerbread
GingerbreadGingerbread
Gingerbread
android sola
 
tcpdump & xtrabackup @ MySQL Casual Talks #1
tcpdump & xtrabackup @ MySQL Casual Talks #1tcpdump & xtrabackup @ MySQL Casual Talks #1
tcpdump & xtrabackup @ MySQL Casual Talks #1Ryosuke IWANAGA
 
Maatkit で MySQL チューニング
Maatkit で MySQL チューニングMaatkit で MySQL チューニング
Maatkit で MySQL チューニングKensuke Nagae
 
about DakotagUI
about DakotagUIabout DakotagUI
about DakotagUI
Etsuji Nomura
 
MySQLerの7つ道具
MySQLerの7つ道具MySQLerの7つ道具
MySQLerの7つ道具
yoku0825
 
コンテナ情報交換会2
コンテナ情報交換会2コンテナ情報交換会2
コンテナ情報交換会2
Masahide Yamamoto
 
Windowsでも使えるシェル
Windowsでも使えるシェルWindowsでも使えるシェル
Windowsでも使えるシェル
Tetsuya Hasegawa
 
20分でわかった事にするパワーマネジメント
20分でわかった事にするパワーマネジメント20分でわかった事にするパワーマネジメント
20分でわかった事にするパワーマネジメントmagoroku Yamamoto
 
MINCS – containers in the shell script
MINCS – containers in the shell scriptMINCS – containers in the shell script
MINCS – containers in the shell script
Masami Hiramatsu
 
大規模な負荷でもドキドキしない為のJava EE
大規模な負荷でもドキドキしない為のJava EE大規模な負荷でもドキドキしない為のJava EE
大規模な負荷でもドキドキしない為のJava EE
Taiichilow Nagase
 
あんなテスト、こんなテスト(this and that about testing)
あんなテスト、こんなテスト(this and that about testing)あんなテスト、こんなテスト(this and that about testing)
あんなテスト、こんなテスト(this and that about testing)Takuya Tsuchida
 
Mastodonインスタンスをセットアップできるスタートアップスクリプトについて
MastodonインスタンスをセットアップできるスタートアップスクリプトについてMastodonインスタンスをセットアップできるスタートアップスクリプトについて
Mastodonインスタンスをセットアップできるスタートアップスクリプトについて
さくらインターネット株式会社
 

Similar to Task Spooler を試した (20)

Android デバッグ小ネタ
Android デバッグ小ネタAndroid デバッグ小ネタ
Android デバッグ小ネタ
 
Maatkitの紹介
Maatkitの紹介Maatkitの紹介
Maatkitの紹介
 
Ilstudy001_20110806
Ilstudy001_20110806Ilstudy001_20110806
Ilstudy001_20110806
 
Open VZ
Open VZOpen VZ
Open VZ
 
Mon, Muninによる楽々監視生活
Mon, Muninによる楽々監視生活Mon, Muninによる楽々監視生活
Mon, Muninによる楽々監視生活
 
initとプロセス再起動
initとプロセス再起動initとプロセス再起動
initとプロセス再起動
 
About Jobs
About JobsAbout Jobs
About Jobs
 
Cloud9にリモートデスクトップ接続する
Cloud9にリモートデスクトップ接続するCloud9にリモートデスクトップ接続する
Cloud9にリモートデスクトップ接続する
 
Gingerbread
GingerbreadGingerbread
Gingerbread
 
tcpdump & xtrabackup @ MySQL Casual Talks #1
tcpdump & xtrabackup @ MySQL Casual Talks #1tcpdump & xtrabackup @ MySQL Casual Talks #1
tcpdump & xtrabackup @ MySQL Casual Talks #1
 
Maatkit で MySQL チューニング
Maatkit で MySQL チューニングMaatkit で MySQL チューニング
Maatkit で MySQL チューニング
 
about DakotagUI
about DakotagUIabout DakotagUI
about DakotagUI
 
MySQLerの7つ道具
MySQLerの7つ道具MySQLerの7つ道具
MySQLerの7つ道具
 
コンテナ情報交換会2
コンテナ情報交換会2コンテナ情報交換会2
コンテナ情報交換会2
 
Windowsでも使えるシェル
Windowsでも使えるシェルWindowsでも使えるシェル
Windowsでも使えるシェル
 
20分でわかった事にするパワーマネジメント
20分でわかった事にするパワーマネジメント20分でわかった事にするパワーマネジメント
20分でわかった事にするパワーマネジメント
 
MINCS – containers in the shell script
MINCS – containers in the shell scriptMINCS – containers in the shell script
MINCS – containers in the shell script
 
大規模な負荷でもドキドキしない為のJava EE
大規模な負荷でもドキドキしない為のJava EE大規模な負荷でもドキドキしない為のJava EE
大規模な負荷でもドキドキしない為のJava EE
 
あんなテスト、こんなテスト(this and that about testing)
あんなテスト、こんなテスト(this and that about testing)あんなテスト、こんなテスト(this and that about testing)
あんなテスト、こんなテスト(this and that about testing)
 
Mastodonインスタンスをセットアップできるスタートアップスクリプトについて
MastodonインスタンスをセットアップできるスタートアップスクリプトについてMastodonインスタンスをセットアップできるスタートアップスクリプトについて
Mastodonインスタンスをセットアップできるスタートアップスクリプトについて
 

More from y-uti

潜在ディリクレ配分法
潜在ディリクレ配分法潜在ディリクレ配分法
潜在ディリクレ配分法
y-uti
 
Active Object
Active ObjectActive Object
Active Object
y-uti
 
目で見る過学習と正則化
目で見る過学習と正則化目で見る過学習と正則化
目で見る過学習と正則化
y-uti
 
ロジスティック回帰入門
ロジスティック回帰入門ロジスティック回帰入門
ロジスティック回帰入門
y-uti
 
論文紹介 Identifying Implementation Bugs in Machine Learning based Image Classifi...
論文紹介 Identifying Implementation Bugs in Machine Learning based Image Classifi...論文紹介 Identifying Implementation Bugs in Machine Learning based Image Classifi...
論文紹介 Identifying Implementation Bugs in Machine Learning based Image Classifi...
y-uti
 
PECL operator で演算子オーバーロード
PECL operator で演算子オーバーロードPECL operator で演算子オーバーロード
PECL operator で演算子オーバーロード
y-uti
 
PHP-ML で手書き数字認識
PHP-ML で手書き数字認識PHP-ML で手書き数字認識
PHP-ML で手書き数字認識
y-uti
 
OPcache の最適化器の今
OPcache の最適化器の今OPcache の最適化器の今
OPcache の最適化器の今
y-uti
 
スパース推定
スパース推定スパース推定
スパース推定
y-uti
 
Kaggle の Titanic チュートリアルに挑戦した話
Kaggle の Titanic チュートリアルに挑戦した話Kaggle の Titanic チュートリアルに挑戦した話
Kaggle の Titanic チュートリアルに挑戦した話
y-uti
 
PHP カンファレンス福岡 2017 参加報告
PHP カンファレンス福岡 2017 参加報告PHP カンファレンス福岡 2017 参加報告
PHP カンファレンス福岡 2017 参加報告
y-uti
 
分類問題 - 機械学習ライブラリ scikit-learn の活用
分類問題 - 機械学習ライブラリ scikit-learn の活用分類問題 - 機械学習ライブラリ scikit-learn の活用
分類問題 - 機械学習ライブラリ scikit-learn の活用
y-uti
 
anyenv + phpenv + php-build が便利すぎる件
anyenv + phpenv + php-build が便利すぎる件anyenv + phpenv + php-build が便利すぎる件
anyenv + phpenv + php-build が便利すぎる件
y-uti
 
PHP カンファレンス福岡 参加報告
PHP カンファレンス福岡 参加報告PHP カンファレンス福岡 参加報告
PHP カンファレンス福岡 参加報告
y-uti
 
RFC: "var" Deprecation
RFC: "var" DeprecationRFC: "var" Deprecation
RFC: "var" Deprecation
y-uti
 
最近の PHP の話
最近の PHP の話最近の PHP の話
最近の PHP の話
y-uti
 
Windows で拡張モジュールをビルドしてみた
Windows で拡張モジュールをビルドしてみたWindows で拡張モジュールをビルドしてみた
Windows で拡張モジュールをビルドしてみた
y-uti
 
PECL を数えてみた
PECL を数えてみたPECL を数えてみた
PECL を数えてみた
y-uti
 
Windows で PHP をビルドしてみた
Windows で PHP をビルドしてみたWindows で PHP をビルドしてみた
Windows で PHP をビルドしてみた
y-uti
 
逐次ベイズ学習 - サンプリング近似法の場合 -
逐次ベイズ学習 - サンプリング近似法の場合 -逐次ベイズ学習 - サンプリング近似法の場合 -
逐次ベイズ学習 - サンプリング近似法の場合 -
y-uti
 

More from y-uti (20)

潜在ディリクレ配分法
潜在ディリクレ配分法潜在ディリクレ配分法
潜在ディリクレ配分法
 
Active Object
Active ObjectActive Object
Active Object
 
目で見る過学習と正則化
目で見る過学習と正則化目で見る過学習と正則化
目で見る過学習と正則化
 
ロジスティック回帰入門
ロジスティック回帰入門ロジスティック回帰入門
ロジスティック回帰入門
 
論文紹介 Identifying Implementation Bugs in Machine Learning based Image Classifi...
論文紹介 Identifying Implementation Bugs in Machine Learning based Image Classifi...論文紹介 Identifying Implementation Bugs in Machine Learning based Image Classifi...
論文紹介 Identifying Implementation Bugs in Machine Learning based Image Classifi...
 
PECL operator で演算子オーバーロード
PECL operator で演算子オーバーロードPECL operator で演算子オーバーロード
PECL operator で演算子オーバーロード
 
PHP-ML で手書き数字認識
PHP-ML で手書き数字認識PHP-ML で手書き数字認識
PHP-ML で手書き数字認識
 
OPcache の最適化器の今
OPcache の最適化器の今OPcache の最適化器の今
OPcache の最適化器の今
 
スパース推定
スパース推定スパース推定
スパース推定
 
Kaggle の Titanic チュートリアルに挑戦した話
Kaggle の Titanic チュートリアルに挑戦した話Kaggle の Titanic チュートリアルに挑戦した話
Kaggle の Titanic チュートリアルに挑戦した話
 
PHP カンファレンス福岡 2017 参加報告
PHP カンファレンス福岡 2017 参加報告PHP カンファレンス福岡 2017 参加報告
PHP カンファレンス福岡 2017 参加報告
 
分類問題 - 機械学習ライブラリ scikit-learn の活用
分類問題 - 機械学習ライブラリ scikit-learn の活用分類問題 - 機械学習ライブラリ scikit-learn の活用
分類問題 - 機械学習ライブラリ scikit-learn の活用
 
anyenv + phpenv + php-build が便利すぎる件
anyenv + phpenv + php-build が便利すぎる件anyenv + phpenv + php-build が便利すぎる件
anyenv + phpenv + php-build が便利すぎる件
 
PHP カンファレンス福岡 参加報告
PHP カンファレンス福岡 参加報告PHP カンファレンス福岡 参加報告
PHP カンファレンス福岡 参加報告
 
RFC: "var" Deprecation
RFC: "var" DeprecationRFC: "var" Deprecation
RFC: "var" Deprecation
 
最近の PHP の話
最近の PHP の話最近の PHP の話
最近の PHP の話
 
Windows で拡張モジュールをビルドしてみた
Windows で拡張モジュールをビルドしてみたWindows で拡張モジュールをビルドしてみた
Windows で拡張モジュールをビルドしてみた
 
PECL を数えてみた
PECL を数えてみたPECL を数えてみた
PECL を数えてみた
 
Windows で PHP をビルドしてみた
Windows で PHP をビルドしてみたWindows で PHP をビルドしてみた
Windows で PHP をビルドしてみた
 
逐次ベイズ学習 - サンプリング近似法の場合 -
逐次ベイズ学習 - サンプリング近似法の場合 -逐次ベイズ学習 - サンプリング近似法の場合 -
逐次ベイズ学習 - サンプリング近似法の場合 -
 

Recently uploaded

FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
yassun7010
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
NTT DATA Technology & Innovation
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
Fukuoka Institute of Technology
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
CRI Japan, Inc.
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
Matsushita Laboratory
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
harmonylab
 
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
atsushi061452
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
atsushi061452
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
iPride Co., Ltd.
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
Sony - Neural Network Libraries
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance
 

Recently uploaded (15)

FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
 
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
 

Task Spooler を試した

  • 1. Task Spooler を試した 内山 雄司 (@y__uti) 2016-09-13 社内勉強会
  • 2. 自己紹介 内山 雄司 (@y__uti) ◦ http://y-uti.hatenablog.jp/ (phpusers-ja) 仕事 ◦ 受託開発の会社 (株式会社ピコラボ) でプログラマをしています 興味 ◦ プログラミング言語処理系 ◦ 機械学習 2016-09-13 社内勉強会 2
  • 4. Task Spooler とは? 簡易ジョブ管理システム的なもの Task Spooler ができること ◦ 最大同時実行数を設定してプロセスを並列実行する ◦ プロセスの状態や実行結果を管理する ◦ プロセスの実行条件 (依存関係) を指定する Task Spooler ではできないこと ◦ 複雑なことは概ねできない ◦ ジョブの実行時刻を指定するとか (cron じゃないから) ◦ 異常終了したら通知するとか ◦ トリッキーなジョブを仕掛ければできるかもしれないが・・・ 2016-09-13 社内勉強会 4
  • 8. インストール ソースコードを取得してビルドする 2016-09-13 社内勉強会 8 $ wget http://vicerveza.homeunix.net/~viric/soft/ts/ts- 0.7.6.tar.gz $ tar xf ts-0.7.6.tar.gz $ cd ts-0.7.6 $ make $ make PREFIX=.. install ◦ インストールされるのは以下の 2 ファイル ◦ $PREFIX/bin/ts ◦ $PREFIX/share/man/man1/ts.1 ◦ ちなみに GPL version 2.0
  • 9. 基本的な使い方 [1/2] 最大同時実行数を設定する 2016-09-13 社内勉強会 9 $ ts -S 4 ◦ 4 プロセスまで同時実行 確認 $ ts ID State Output E-Level Times(r/u/s) Command [run=0/4]
  • 10. 基本的な使い方 [2/2] ジョブをキューに登録する 2016-09-13 社内勉強会 10 $ for i in $(seq 1 10); do ts sleep $i; done 0 1 2 3 4 5 6 7 8 9 ◦ i = 1 ~ 10 として「$i 秒 sleep する」ジョブを登録した
  • 11. 実行の様子 キューの状態を確認する 実行直後 2016-09-13 社内勉強会 11 $ ts ID State Output E-Level Times(r/u/s) Command [run=4/4] 0 running /tmp/ts-out.sWEDhd sleep 1 1 running /tmp/ts-out.2FZb9f sleep 2 2 running /tmp/ts-out.g4nEOg sleep 3 3 running /tmp/ts-out.E7hDyg sleep 4 4 queued (file) sleep 5 5 queued (file) sleep 6 6 queued (file) sleep 7 7 queued (file) sleep 8 8 queued (file) sleep 9 9 queued (file) sleep 10
  • 12. 実行の様子 キューの状態を確認する 1秒後 2016-09-13 社内勉強会 12 $ ts ID State Output E-Level Times(r/u/s) Command [run=4/4] 1 running /tmp/ts-out.2FZb9f sleep 2 2 running /tmp/ts-out.g4nEOg sleep 3 3 running /tmp/ts-out.E7hDyg sleep 4 4 running /tmp/ts-out.iNqnyi sleep 5 5 queued (file) sleep 6 6 queued (file) sleep 7 7 queued (file) sleep 8 8 queued (file) sleep 9 9 queued (file) sleep 10 0 finished /tmp/ts-out.sWEDhd 0 1.01/0.00/0.00 sleep 1 ◦ 一秒ごとに ts コマンドを実行しています ◦ 自動更新されるわけではない
  • 13. 実行の様子 キューの状態を確認する 2秒後 2016-09-13 社内勉強会 13 $ ts ID State Output E-Level Times(r/u/s) Command [run=4/4] 2 running /tmp/ts-out.g4nEOg sleep 3 3 running /tmp/ts-out.E7hDyg sleep 4 4 running /tmp/ts-out.iNqnyi sleep 5 5 running /tmp/ts-out.zLJ4Ci sleep 6 6 queued (file) sleep 7 7 queued (file) sleep 8 8 queued (file) sleep 9 9 queued (file) sleep 10 0 finished /tmp/ts-out.sWEDhd 0 1.01/0.00/0.00 sleep 1 1 finished /tmp/ts-out.2FZb9f 0 2.02/0.00/0.00 sleep 2 ◦ 一秒ごとに ts コマンドを実行しています ◦ 自動更新されるわけではない
  • 14. 実行の様子 キューの状態を確認する 3秒後 2016-09-13 社内勉強会 14 $ ts ID State Output E-Level Times(r/u/s) Command [run=4/4] 3 running /tmp/ts-out.E7hDyg sleep 4 4 running /tmp/ts-out.iNqnyi sleep 5 5 running /tmp/ts-out.zLJ4Ci sleep 6 6 running /tmp/ts-out.kjWcqk sleep 7 7 queued (file) sleep 8 8 queued (file) sleep 9 9 queued (file) sleep 10 0 finished /tmp/ts-out.sWEDhd 0 1.01/0.00/0.00 sleep 1 1 finished /tmp/ts-out.2FZb9f 0 2.02/0.00/0.00 sleep 2 2 finished /tmp/ts-out.g4nEOg 0 3.01/0.00/0.00 sleep 3 ◦ 一秒ごとに ts コマンドを実行しています ◦ 自動更新されるわけではない
  • 15. 実行の様子 キューの状態を確認する ・・・ 2016-09-13 社内勉強会 15 $ ts ID State Output E-Level Times(r/u/s) Command [run=4/4] 4 running /tmp/ts-out.iNqnyi sleep 5 5 running /tmp/ts-out.zLJ4Ci sleep 6 6 running /tmp/ts-out.kjWcqk sleep 7 7 running /tmp/ts-out.i9BXum sleep 8 8 queued (file) sleep 9 9 queued (file) sleep 10 0 finished /tmp/ts-out.sWEDhd 0 1.01/0.00/0.00 sleep 1 1 finished /tmp/ts-out.2FZb9f 0 2.02/0.00/0.00 sleep 2 2 finished /tmp/ts-out.g4nEOg 0 3.01/0.00/0.00 sleep 3 3 finished /tmp/ts-out.E7hDyg 0 4.00/0.00/0.00 sleep 4 ◦ 一秒ごとに ts コマンドを実行しています ◦ 自動更新されるわけではない
  • 16. 実行の様子 キューの状態を確認する ・・・ 2016-09-13 社内勉強会 16 $ ts ID State Output E-Level Times(r/u/s) Command [run=4/4] 5 running /tmp/ts-out.zLJ4Ci sleep 6 6 running /tmp/ts-out.kjWcqk sleep 7 7 running /tmp/ts-out.i9BXum sleep 8 8 running /tmp/ts-out.AWi5Dq sleep 9 9 queued (file) sleep 10 0 finished /tmp/ts-out.sWEDhd 0 1.01/0.00/0.00 sleep 1 1 finished /tmp/ts-out.2FZb9f 0 2.02/0.00/0.00 sleep 2 2 finished /tmp/ts-out.g4nEOg 0 3.01/0.00/0.00 sleep 3 3 finished /tmp/ts-out.E7hDyg 0 4.00/0.00/0.00 sleep 4 4 finished /tmp/ts-out.iNqnyi 0 5.01/0.00/0.00 sleep 5 ◦ 一秒ごとに ts コマンドを実行しています ◦ 自動更新されるわけではない
  • 17. 実行の様子 キューの状態を確認する ・・・ 2016-09-13 社内勉強会 17 $ ts ID State Output E-Level Times(r/u/s) Command [run=4/4] 6 running /tmp/ts-out.kjWcqk sleep 7 7 running /tmp/ts-out.i9BXum sleep 8 8 running /tmp/ts-out.AWi5Dq sleep 9 9 running /tmp/ts-out.kVAX0u sleep 10 0 finished /tmp/ts-out.sWEDhd 0 1.01/0.00/0.00 sleep 1 1 finished /tmp/ts-out.2FZb9f 0 2.02/0.00/0.00 sleep 2 2 finished /tmp/ts-out.g4nEOg 0 3.01/0.00/0.00 sleep 3 3 finished /tmp/ts-out.E7hDyg 0 4.00/0.00/0.00 sleep 4 4 finished /tmp/ts-out.iNqnyi 0 5.01/0.00/0.00 sleep 5 5 finished /tmp/ts-out.zLJ4Ci 0 6.01/0.00/0.00 sleep 6 ◦ 一秒ごとに ts コマンドを実行しています ◦ 自動更新されるわけではない
  • 18. 実行の様子 キューの状態を確認する ・・・ 2016-09-13 社内勉強会 18 $ ts ID State Output E-Level Times(r/u/s) Command [run=3/4] 7 running /tmp/ts-out.i9BXum sleep 8 8 running /tmp/ts-out.AWi5Dq sleep 9 9 running /tmp/ts-out.kVAX0u sleep 10 0 finished /tmp/ts-out.sWEDhd 0 1.01/0.00/0.00 sleep 1 1 finished /tmp/ts-out.2FZb9f 0 2.02/0.00/0.00 sleep 2 2 finished /tmp/ts-out.g4nEOg 0 3.01/0.00/0.00 sleep 3 3 finished /tmp/ts-out.E7hDyg 0 4.00/0.00/0.00 sleep 4 4 finished /tmp/ts-out.iNqnyi 0 5.01/0.00/0.00 sleep 5 5 finished /tmp/ts-out.zLJ4Ci 0 6.01/0.00/0.00 sleep 6 6 finished /tmp/ts-out.kjWcqk 0 7.00/0.00/0.00 sleep 7 ◦ 一秒ごとに ts コマンドを実行しています ◦ 自動更新されるわけではない
  • 19. 実行の様子 キューの状態を確認する ・・・ 2016-09-13 社内勉強会 19 $ ts ID State Output E-Level Times(r/u/s) Command [run=2/4] 8 running /tmp/ts-out.AWi5Dq sleep 9 9 running /tmp/ts-out.kVAX0u sleep 10 0 finished /tmp/ts-out.sWEDhd 0 1.01/0.00/0.00 sleep 1 1 finished /tmp/ts-out.2FZb9f 0 2.02/0.00/0.00 sleep 2 2 finished /tmp/ts-out.g4nEOg 0 3.01/0.00/0.00 sleep 3 3 finished /tmp/ts-out.E7hDyg 0 4.00/0.00/0.00 sleep 4 4 finished /tmp/ts-out.iNqnyi 0 5.01/0.00/0.00 sleep 5 5 finished /tmp/ts-out.zLJ4Ci 0 6.01/0.00/0.00 sleep 6 6 finished /tmp/ts-out.kjWcqk 0 7.00/0.00/0.00 sleep 7 7 finished /tmp/ts-out.i9BXum 0 8.01/0.00/0.00 sleep 8 ◦ 一秒ごとに ts コマンドを実行しています ◦ 自動更新されるわけではない
  • 20. 実行の様子 キューの状態を確認する ・・・ 2016-09-13 社内勉強会 20 $ ts ID State Output E-Level Times(r/u/s) Command [run=1/4] 9 running /tmp/ts-out.kVAX0u sleep 10 0 finished /tmp/ts-out.sWEDhd 0 1.01/0.00/0.00 sleep 1 1 finished /tmp/ts-out.2FZb9f 0 2.02/0.00/0.00 sleep 2 2 finished /tmp/ts-out.g4nEOg 0 3.01/0.00/0.00 sleep 3 3 finished /tmp/ts-out.E7hDyg 0 4.00/0.00/0.00 sleep 4 4 finished /tmp/ts-out.iNqnyi 0 5.01/0.00/0.00 sleep 5 5 finished /tmp/ts-out.zLJ4Ci 0 6.01/0.00/0.00 sleep 6 6 finished /tmp/ts-out.kjWcqk 0 7.00/0.00/0.00 sleep 7 7 finished /tmp/ts-out.i9BXum 0 8.01/0.00/0.00 sleep 8 8 finished /tmp/ts-out.AWi5Dq 0 9.00/0.00/0.00 sleep 9 ◦ 一秒ごとに ts コマンドを実行しています ◦ 自動更新されるわけではない
  • 21. 実行の様子 キューの状態を確認する 終わり 2016-09-13 社内勉強会 21 $ ts ID State Output E-Level Times(r/u/s) Command [run=0/4] 0 finished /tmp/ts-out.sWEDhd 0 1.01/0.00/0.00 sleep 1 1 finished /tmp/ts-out.2FZb9f 0 2.02/0.00/0.00 sleep 2 2 finished /tmp/ts-out.g4nEOg 0 3.01/0.00/0.00 sleep 3 3 finished /tmp/ts-out.E7hDyg 0 4.00/0.00/0.00 sleep 4 4 finished /tmp/ts-out.iNqnyi 0 5.01/0.00/0.00 sleep 5 5 finished /tmp/ts-out.zLJ4Ci 0 6.01/0.00/0.00 sleep 6 6 finished /tmp/ts-out.kjWcqk 0 7.00/0.00/0.00 sleep 7 7 finished /tmp/ts-out.i9BXum 0 8.01/0.00/0.00 sleep 8 8 finished /tmp/ts-out.AWi5Dq 0 9.00/0.00/0.00 sleep 9 9 finished /tmp/ts-out.kVAX0u 0 10.00/0.00/0.00 sleep 10 ◦ 一秒ごとに ts コマンドを実行しています ◦ 自動更新されるわけではない
  • 22. ts のオプション [1/3] ジョブの情報を確認する 2016-09-13 社内勉強会 22 オプション 意味 -t [id] 指定されたジョブの出力を tail -f する -c [id] 指定されたジョブの出力を cat する -p [id] 指定されたジョブのプロセス ID を表示する -o [id] 指定されたジョブの出力ファイル名を表示する -i [id] 指定されたジョブの情報を表示する -s [id] 指定されたジョブの状態を表示する
  • 23. ts -i [id] 指定されたジョブの情報を表示する 2016-09-13 社内勉強会 23 $ ts -i 3 Exit status: died with exit code 0 Command: sleep 4 Slots required: 1 Enqueue time: Mon Sep 12 22:07:56 2016 Start time: Mon Sep 12 22:07:56 2016 End time: Mon Sep 12 22:08:00 2016 Time run: 4.004059s
  • 24. ts のオプション [2/3] ジョブの実行を制御する 2016-09-13 社内勉強会 24 オプション 意味 -r [id] 指定されたジョブをキューから取り除く -w [id] 指定されたジョブが終わるまで待つ -k [id] 指定されたジョブを kill する (SIGTERM) -u [id] 指定されたジョブをキューの先頭に移動する -U <id>-<id> 指定された二つのジョブの位置を入れ替える
  • 25. ts のオプション [3/3] ジョブを登録するときのオプション 2016-09-13 社内勉強会 25 オプション 意味 -n ジョブの出力をファイルに保存しない -E ジョブの標準出力と標準エラーを分けて出力する -g ジョブの出力を gzip する -f バックグラウンドで fork しない (未確認) -m ジョブの出力をメールで送信する (未確認) -d 直前のジョブが正常終了したときだけ実行する -D <id> 指定されたジョブが正常終了したときだけ実行する -L <lab> ジョブに名前を付ける -N <num> ジョブが使うスロット数を指定する
  • 26. ts -D [id] 指定されたジョブが正常終了したときだけ実行する 2016-09-13 社内勉強会 26 $ ts -S 2 $ ts sleep 20 0 $ ts sleep 10 1 $ ts -D 0 sleep 5 2 $ ts sleep 5 3 ◦ ID = 2 のジョブは ID = 0 のジョブが正常終了したら実行が始まる
  • 27. 実行の様子 実行直後 2016-09-13 社内勉強会 27 $ ts ID State Output E-Level Times(r/u/s) Command [run=2/2] 0 running /tmp/ts-out.flebwV sleep 20 1 running /tmp/ts-out.RGTygW sleep 10 2 queued (file) [0]&& sleep 5 3 queued (file) sleep 5
  • 28. 実行の様子 10 秒後 2016-09-13 社内勉強会 28 $ ts ID State Output E-Level Times(r/u/s) Command [run=2/2] 0 running /tmp/ts-out.flebwV sleep 20 2 queued (file) [0]&& sleep 5 3 running /tmp/ts-out.4MUpNi sleep 5 1 finished /tmp/ts-out.RGTygW 0 10.01/0.00/0.00 sleep 10 ◦ ID = 1 のジョブが終了する ◦ ID = 2 のジョブは ID = 0 を待っているので実行が開始されない ◦ ID = 3 のジョブの実行が開始される
  • 29. 実行の様子 15 秒後 2016-09-13 社内勉強会 29 $ ts ID State Output E-Level Times(r/u/s) Command [run=1/2] 0 running /tmp/ts-out.flebwV sleep 20 2 queued (file) [0]&& sleep 5 1 finished /tmp/ts-out.RGTygW 0 10.01/0.00/0.00 sleep 10 3 finished /tmp/ts-out.4MUpNi 0 5.01/0.00/0.00 sleep 5 ◦ ID = 3 のジョブが終了する ◦ ID = 2 のジョブは ID = 0 を待っているので実行が開始されない
  • 30. 実行の様子 20 秒後 2016-09-13 社内勉強会 30 $ ts ID State Output E-Level Times(r/u/s) Command [run=1/2] 2 running /tmp/ts-out.c9eVnz [0]&& sleep 5 1 finished /tmp/ts-out.RGTygW 0 10.01/0.00/0.00 sleep 10 3 finished /tmp/ts-out.4MUpNi 0 5.01/0.00/0.00 sleep 5 0 finished /tmp/ts-out.flebwV 0 20.01/0.00/0.00 sleep 20 ◦ ID = 0 のジョブが終了する ◦ ID = 2 のジョブの実行が開始される
  • 31. 実行の様子 25 秒後 2016-09-13 社内勉強会 31 $ ts ID State Output E-Level Times(r/u/s) Command [run=0/2] 1 finished /tmp/ts-out.RGTygW 0 10.01/0.00/0.00 sleep 10 3 finished /tmp/ts-out.4MUpNi 0 5.01/0.00/0.00 sleep 5 0 finished /tmp/ts-out.flebwV 0 20.01/0.00/0.00 sleep 20 2 finished /tmp/ts-out.c9eVnz 0 5.01/0.00/0.00 [0]&& sleep 5 ◦ ID = 2 のジョブが終了する
  • 32. ところで -D って複数指定できるの? ◦ できない! ◦ 右図のような制御ができない プログラムを修正すればできる ◦ 実際できた ◦ -D の値を int で持っているのを 配列に変更するだけ 2016-09-13 社内勉強会 32 ここができない!
  • 33. ts の後片付け バックグラウンドの ts サーバプロセスを終了する 2016-09-13 社内勉強会 33 $ ts -K ◦ 必要になったとき (ジョブを登録したとき等) に自動起動している