מסמך זה תורגם על ידי בינה מלאכותית. לכל אי דיוק, אנא עיין בגרסה האנגלית
משימה מתוזמנת היא אירוע המופעל על בסיס תנאי זמן, והיא קיימת בשני מצבים:
כאשר המערכת מגיעה לנקודת הזמן (ברמת דיוק של שנייה) העונה על תנאי ההפעלה שהוגדרו, תהליך העבודה המתאים יופעל.
ברשימת תהליכי העבודה, בעת יצירת תהליך עבודה חדש, בחרו בסוג 'משימה מתוזמנת':

במצב הרגיל, עליכם להגדיר תחילה את זמן ההתחלה לכל נקודת זמן רצויה (ברמת דיוק של שנייה). זמן ההתחלה יכול להיות מוגדר לזמן עתידי או לזמן עבר. כאשר הוא מוגדר לזמן עבר, המערכת תבדוק אם הגיע הזמן בהתאם לתנאי החזרה שהוגדרו. אם לא הוגדרו תנאי חזרה, וזמן ההתחלה הוא בעבר, תהליך העבודה לא יופעל יותר.
ישנן שתי דרכים להגדיר את כלל החזרה:
לאחר הגדרת כלל החזרה, ניתן גם להגדיר תנאי סיום. הסיום יכול להיות בנקודת זמן קבועה, או להיות מוגבל על ידי מספר הפעמים שבוצע.
שימוש בשדה זמן של אוסף כדי לקבוע את זמן ההתחלה הוא מצב הפעלה המשלב משימות מתוזמנות רגילות עם שדות זמן של אוספים. שימוש במצב זה יכול לפשט צמתים בתהליכים מסוימים, והוא גם אינטואיטיבי יותר מבחינת תצורה. לדוגמה, כדי לשנות את הסטטוס של הזמנות שלא שולמו ועבר זמנן ל'בוטלה', תוכלו פשוט להגדיר משימה מתוזמנת במצב שדה זמן באוסף, ולבחור את זמן ההתחלה כ-30 דקות לאחר יצירת ההזמנה.
אם תנאי הזמן שהוגדרו מתקיימים, אך שירות יישום NocoBase כולו נמצא במצב לא פעיל או כבוי, המשימה המתוזמנת שהייתה אמורה להיות מופעלת באותה נקודת זמן תוחמץ. בנוסף, לאחר הפעלה מחדש של השירות, המשימות שהוחמצו לא יופעלו שוב. לכן, בעת השימוש, ייתכן שיהיה עליכם לשקול טיפול במצבים כאלה או אמצעי גיבוי.
כאשר מוגדר תנאי סיום 'לפי מספר חזרות', הוא מחשב את המספר הכולל של הפעולות שבוצעו בכל הגרסאות של אותו תהליך עבודה. לדוגמה, אם משימה מתוזמנת בוצעה 10 פעמים בגרסה 1, ומספר החזרות מוגדר גם הוא ל-10, תהליך העבודה לא יופעל יותר. גם אם הוא יועתק לגרסה חדשה, הוא לא יופעל, אלא אם כן מספר החזרות ישונה למספר גדול מ-10. אולם, אם הוא מועתק כתהליך עבודה חדש, ספירת הביצועים תתאפס ל-0. ללא שינוי התצורה הרלוונטית, תהליך העבודה החדש יוכל להיות מופעל 10 פעמים נוספות.
מרווח הזמן בכלל החזרה הוא יחסי לנקודת הזמן של ההפעלה הקודמת (או זמן ההתחלה), בעוד שמצב מתקדם מפעיל בנקודות זמן קבועות. לדוגמה, אם מוגדר להפעיל כל 30 דקות, וההפעלה הקודמת הייתה ב-2021-09-01 12:01:23, אז זמן ההפעלה הבא יהיה ב-2021-09-01 12:31:23. מצב מתקדם, כלומר מצב cron, מוגדר להפעיל בנקודות זמן קבועות. לדוגמה, ניתן להגדיר הפעלה בדקה 01 ובדקה 31 של כל שעה.
נניח שעלינו לבדוק מדי דקה הזמנות שלא שולמו למעלה מ-30 דקות לאחר יצירתן, ולשנות את סטטוסן אוטומטית ל'בוטלה'. נממש זאת באמצעות שני המצבים.
צרו תהליך עבודה מבוסס משימה מתוזמנת. בתצורת ההפעלה, בחרו במצב 'זמן מותאם אישית', קבעו את זמן ההתחלה לכל נקודה שאינה מאוחרת מהזמן הנוכחי, בחרו 'כל דקה' ככלל החזרה, והשאירו את תנאי הסיום ריק:

לאחר מכן, הגדירו צמתים נוספים בהתאם ללוגיקת התהליך: חשבו את הזמן מלפני 30 דקות, ושנו את הסטטוס של הזמנות שלא שולמו ונוצרו לפני זמן זה ל'בוטלה':

לאחר הפעלת תהליך העבודה, הוא יופעל פעם בדקה מזמן ההתחלה, יחשב את הזמן מלפני 30 דקות, וישמש לעדכון סטטוס ההזמנות שנוצרו לפני נקודת זמן זו ל'בוטלה'.
צרו תהליך עבודה מבוסס משימה מתוזמנת. בתצורת ההפעלה, בחרו במצב 'שדה זמן באוסף', בחרו באוסף 'הזמנות', קבעו את זמן ההתחלה ל-30 דקות לאחר זמן יצירת ההזמנה, ובחרו 'ללא חזרה' ככלל החזרה:

לאחר מכן, הגדירו צמתים נוספים בהתאם ללוגיקת התהליך: עדכנו את הסטטוס של הזמנות עם מזהה נתוני ההפעלה (Trigger Data ID) ובסטטוס 'לא שולם' ל'בוטלה':

בניגוד למצב זמן מותאם אישית, כאן אין צורך לחשב את הזמן מלפני 30 דקות, מכיוון שהקשר נתוני ההפעלה של תהליך העבודה כבר מכיל את שורת הנתונים המתאימה שעומדת בתנאי הזמן, כך שתוכלו לעדכן ישירות את סטטוס ההזמנה הרלוונטית.