2025/5/9
こんなんあるんやな
おもろいサイトやな。
Tauriでmain以外のバイナリをバンドルに入れるのは少し苦労するかも。
通常のCargoプロジェクトのノリで別binaryをCargo.tomlで明記しても、buildしてくれないっぽい。
簡単なwatchdogの仕組みを作って動作確認する
雑多にチェック項目
watchdogはagentから生成される
watchdogが存在して良いかは、mainの設定から決まる
watchdogの存在して良いかの判断にはflagファイルを用いる(flagファイルがあれば無効、なければ有効)
mainからflagファイルを生成/消去する
watchdogはagentの生存確認を行い、死んでたら復活させる
agentはwatchdogが存在して良い場合、かつ、watchdogが存在しない場合、watchdogを生成する
background実行アイテムで指定agentがoffにされたとしても、watchdogがあるならagentが復活する
background実行アイテムoffの状態で、PC再起動が入った場合は、流石にagentは自動起動しない
ここまでされるとお手上げ。ブロックは回避されるだろう。だが、そこまでしちゃう人はもう救えない...。
background実行アイテムonの状態で、PC再起動が入った場合は、逆に救える。その場合はブロックは有効だから。
注意
background実行アイテムをoffにされても、agentをwatchdogで無理やり起動させる方法は結構なハッキング手法。
appleの推奨する手L法ではないので、いつか対策加えられる気もする。
それに備えて、対応しやすい設計にしておくのがbetter。