Google Apps Script で 1 分ごとの time-based trigger をセットしておくと、たまに複数回実行されてしまうことがある感じがする
もちろん 1 分以上かかる可能性のある処理を行うと、同時に複数実行されることはある (あるいは起動時間長すぎエラーで強制終了される)わけだが、どうもそれだけではない
Google Apps Script は lock の仕組みが提供されているので、これを明示的に使うようにしたら安定した
// trigger entry point
function start () {
var lock = LockService.getScriptLock();
if (lock.tryLock(1)) {
doSomething();
lock.releaseLock();
}
}
24 時間休まず 1 分ごとにトリガーできるそこそこ安定した無料の環境、けっこう貴重な気がする