GAS|ファンクション名からトリガーを削除する|deleteTrigger|getHandlerFunction|Trigger|getProjectTriggers|ScriptApp|Google Apps Script|開発裏話
「マンガポスト日本版」では、Google ドライブ内に保存している「コミックス発売日情報」を参照して、その日付を基に毎日自動配信(ツイート)しています。
毎日決められた時分秒に実行しているのではなく、その日の情報量の多さに応じて自動計算し、トリガーを任意に設定しています。
GAS のトリガーは、実行したら自動的に削除されるものではありません。ですので、明示的に削除しなければ、実行済みのトリガーがプロジェクト内に溜まり続けてしまいます。
/**
* Removes the triger that match the given function so it no longer runs.
*
* @param functionName — the function to call when the trigger fires
*/
function deleteTrigger(functionName) {
// gets all installable triggers associated with the current project
var triggers = ScriptApp.getProjectTriggers();
for (var i = 0; i < triggers.length; i++) {
// gets a script trigger
var trigger = triggers[i];
// gets the function that will be called when the trigger fires
if (trigger.getHandlerFunction() == functionName) {
// removes the given trigger so it no longer runs
ScriptApp.deleteTrigger(trigger);
}
}
}
一番の注意点は、GAS では、プロジェクトで設定可能なトリガーの上限数が決められている(20 個を超えて設定できない)ということです。上限数を超えると何も実行できなくなってしまいますので、不要になった実行済みのトリガーは必ず削除するようにしましょう。
Triggers
20 user / script
マンガポスト日本版
マンガポスト日本版の Twitter 公式アカウントです。
漫画(まんが)・コミックの新刊情報を毎日配信中!
コーヒーブレイク
ある日突然やって来た宇宙人のモジャ公&ロボットのドンモと”宇宙へ家出”した空夫。予測不可能なドタバタ大冒険が始まる!
この記事が参加している募集
この記事が気に入ったらサポートをしてみませんか?