-
masa16tanaka
- 1320
- 1
- 0
- 0
![](https://tgfile.tg-static.com/static/web/img/placeholder.gif)
ジョブの再投入を途中からやるのに、ファイルの存在を前提にしているのは割と我々の領分だと使い辛さを感じる。 #rubykaigiA
2016-09-09 16:11:03![](https://tgfile.tg-static.com/static/web/img/placeholder.gif)
なんで rake なのさ。と思って別セッション行っちゃったんだけど、こっち行っておけばよかった… orz #rubykaigi / “Pwrakeとは · masa16/pwrake Wiki · GitHub” htn.to/xS6hyR
2016-09-09 16:12:25![](https://tgfile.tg-static.com/static/web/img/placeholder.gif)
Pwrakeって既存のRakeを拡張するものではなくて似た仕様とDSLを持った実装なのかな #rubykaigi #rubykaigiA
2016-09-09 16:14:56![](https://tgfile.tg-static.com/static/web/img/placeholder.gif)
Masahiro TANAKAさん @masa16tanaka による講演「Pwrake: Distributed Workflow Engine based on Rake」。 #rubykaigi #rubykaigia pic.twitter.com/NufyaGgu5i
2016-09-09 16:16:38![](https://pbs.twimg.com/media/Cr5QObWUAAA1_SM.jpg:medium)
![](https://pbs.twimg.com/media/Cr5QSFDUMAA3GPM.jpg:medium)
![](https://tgfile.tg-static.com/static/web/img/placeholder.gif)
「高性能並列実行を目指して Rakeベースのワークフローエンジン Pwrake 紹介 #RubyKaigi #RubyKaigiA」をトゥギャりました。 togetter.com/li/1022349
2016-09-09 16:25:11![](https://tgfile.tg-static.com/static/web/img/placeholder.gif)
togetter.com/li/1022349 高性能並列実行を目指して Rakeベースのワークフローエンジン Pwrake 紹介 #RubyKaigi #RubyKaigiA #programming
2016-09-09 16:31:06![](https://tgfile.tg-static.com/static/web/img/placeholder.gif)
Pwrakeとは · masa16/pwrake Wiki · GitHub ow.ly/8E37504kguZ
2016-09-09 16:31:22![](https://tgfile.tg-static.com/static/web/img/placeholder.gif)
Gfarmワークショップで Pwrake のチュートリアルを1時間することになってつらい oss-tsukuba.org/event/gw2016
2016-09-10 00:03:45![](https://tgfile.tg-static.com/static/web/img/placeholder.gif)
I uploaded slides for LT. Sorry, a few pages is mix of Japanese and English. / ワークフローエンジンRukawaと実装のサボり方 joker1007.github.io/slides/rukawa_… #rubykaigi
2016-09-11 21:52:14![](https://tgfile.tg-static.com/static/web/img/placeholder.gif)
"Pwrake: Distributed Workflow Engine based on Rake" speakerdeck.com/masa16tanaka/p…
2016-09-12 14:55:25![](https://tgfile.tg-static.com/static/web/img/placeholder.gif)
digdagでは、意図的にファイル名をタスク名として使わないようにしていて、タスクの終了/未実行をファイルとは別に管理するのだけども、そこがRakeやMakefile系とは根本的に違うな。
2016-09-12 14:56:29![](https://tgfile.tg-static.com/static/web/img/placeholder.gif)
.c → .o 程度の変換なら問題は無いのだけども、.csv から .dat と .mk を作って、2つをくっつけて .x を作る…のような良くあるfork-join処理が困るとか、ファイルは存在するが中途半端に作成されている状態を誤って終了済みにしてしまうとか。
2016-09-12 14:58:54![](https://tgfile.tg-static.com/static/web/img/placeholder.gif)
一方でファイル名を使うと、ファイルのローカリティを使うような最適はしやすそう。分散ファイルシステムと密結合になるか…
2016-09-12 15:00:09![](https://tgfile.tg-static.com/static/web/img/placeholder.gif)
@kazuho それは定石ですが面倒だし忘れるんですよね…問題が起こったときに初めて、壊れた空のファイルが残っているのが原因だった、という類の、原因を見つけにくくハマりやすい問題だと思います。
2016-09-12 15:07:01![](https://tgfile.tg-static.com/static/web/img/placeholder.gif)
@kazuho それはつまり、ファイルが存在すればタスクが終了しているとみなすのをやめて、ビルドツール側がタスクの終了状態を管理する、ということであってますか? それともファイルの作成を必ずビルドツールでやらせる?
2016-09-12 15:10:17