לולאה בגוגל סקריפט שתריץ את הקוד כל 5 שניות למשך דקה
-
@מעמד-מוצלח אני זוכר שמימשתי דבר כזה כמה פעמים בכמה אופנים, אבדוק עוד מעט כמה מהם שאני זוכר ואראה מה השיטה היותר טובה...
שים לב, שאתה עלול לעבור בקלות את המגבלה של גוגל סקריפט..
-
@אביי כתב בלולאה בגוגל סקריפט שתריץ את הקוד כל 5 שניות למשך דקה:
@מעמד-מוצלח אני זוכר שמימשתי דבר כזה כמה פעמים בכמה אופנים, אבדוק עוד מעט כמה מהם שאני זוכר ואראה מה השיטה היותר טובה...
שים לב, שאתה עלול לעבור בקלות את המגבלה של גוגל סקריפט..
כן יש לי חשבון עסקי בשביל זה. מקווה באמת לא לעבור.
-
@מעמד-מוצלח נראה שזו היתה השיטה הכי פשוטה וטובה, לטריגרים שלא דרשו רישומים מיוחדים ואינטראקציה בין ההפעלות השונות..
זה ירוץ במשך 55 שניות, את ההפעלה של 5 השניות הבאות, כבר תבצע הקריאה הבאה לטריגר
function playRegularly() { // קריאה לפונקציה שתתבצע בעת ההרצה checkIsRedAlert(); for (var i = 0; i <= 10; i++) { // השהיה של 5 שניות Utilities.sleep(5000); // קריאה לפונקציה שתתבצע באופן אסינכרוני checkIsRedAlert(); } } function checkIsRedAlert() { Logger.log("צבע אדום"); }
שים לב שבכוונה זה מבצע קריאה לפונקציה נוספת שמבצעת את הפעילות עצמה, בכדי שזזמן ההשהיה לא יושפע ממשך ריצת הקוד עצמו..
-
@מעמד-מוצלח עדכנתי את הקוד, כך שבסה"כ הוא ירוץ רק 55 שניות בכל דקה במקום 60...
-
איפה אני שם את הקוד עצמו ? בתחילת הקוד המקורי ? בסופו ?
-
@מעמד-מוצלח את הטריגר את מגדיר על הפונקציה playRegularly, ואת הקוד שלך אתה שם בתוך checkIsRedAlert.
-
@אביי רק הבהרה קלה
בקוד שלך יש הגבלה של 10 הפעלות בדקהבקוד הבא יש הגבלה אבל של 5 דקות וכך אפשר לעשות טריגר כל חמש דקות
function playRegularly() { // זמן ההפעלה let startTime = new Date().getTime(); // קריאה ראשונה ללא תנאי checkIsRedAlert(); // לולאה שממשיכה לבצע קריאות עד שעובר 5 דקות מההפעלה הראשונה while (new Date().getTime() - startTime < 5 * 60 * 1000) { // המתנה של 5 שניות Utilities.sleep(5000); // הפעלה נוספת checkIsRedAlert(); } }
-
פוסט זה נמחק!
-
@אביי כתב בלולאה בגוגל סקריפט שתריץ את הקוד כל 5 שניות למשך דקה:
@מנצפכ נכון, בשיטה שלך אנחנו מרוויחים חיסכון בטריגרים, בשיטה שלי אנחנו מרוויחים חיסכון בזמן ריצה..
צ"ע מה עדיףלא התכוונתי לומר ששלי עדיף
למעשה לא נראה לי שיש הבדל
רק הערתי שלא כתבת שיש הגבלה של דקה והבאתי את הקוד שאני עשיתי
(ולמה עשיתי? עשיתי ע"פ בקשה של @מעמד-מוצלח במייל בלי לדעת בכלל על הפוסט שלך)