携帯まだ手も付けてない(‘A`)
更新時刻決定処理を少し整理しました。
これまでの処理はもの凄くアクロバティックかつ泥縄なコードになっていたのですが、
1ターンに要する時間(24or48時間)の倍数+更新時刻(午前8時とか)を求め(=A)
A+係数B(=24時間)*nが、「localtime+1ターンに要する時間」より大きくかつnが最小になる
ようなA+B*2……という感じにしました。
これにより、現時刻から最低1ターン分の時間を確保した上で、そこから最も早い更新時刻、に更新されます。
#要するに本来当たり前な処理になった。
携帯以外だと……ロールバックか(‘A`)モットヤダ
ロールバックは非常に悩ましいところです。
daemonになるため配布しても設置の敷居が異常に高くなってしまいますし
そもそも俺自身がdaemonを1から書いたことがなく、プロセス間通信も簡単なシグナルとソケットしか使ったことがないため
作る自信そのものがありません。
こういうのって名前付きパイプでさくっと書いちゃっていいのかなぁ。
まあ試しに書いてみるか……
コメントを残す