初めに
非同期のAPIを実行し、一定時間後その結果を問い合わせ、後続の処理を行う必要がある。
Timerで後続の処理をするため動的なTimerのScheduleについて調査したので備忘録代わりに書き留めておく。
環境
Service Studio Version 11.54.37
ServerActionからTimerをScheduleする
Schedule方法
スケジュールしたい時間をHH:mm
形式でTimer.{対象のTimer}.Schedule
変数にAssignすればよい。
複数の時間をスケジュールする場合はSapceで区切って複数指定することができる。
結果
OccursがDailyに変更される。
他にScheduleの設定がある場合、上書きされる。
指定されたTimerがDeactiveの場合でも、指定の時間に動作するようにActive化される。
そのため、Timerが指定の時間に実行された後、次の日の同時刻にScheduleされる。
指定の時間に一度だけ実行したい場合は注意が必要である。
最後に
要望は実現できそうだが、Timerの実行時間制限と合わせてベストプラクティスに沿った形で適切に実装する必要がある。
Timerの同期設定を書き換えてしまうため、正常終了を含めTimerの終了時の再Scheduleを不足なく設計しておく必要がある。