כיצד לממש שעון עצר באתר ASP.NET MVC ?
-
מה הדרך הנכונה לממש שעון עצר באתר אינטרנט?
אני צריך שהמשתמש יוכל להכנס לחשבון שלו להגדיר שהשעון עצר יתחיל לרוץ ובעוד כך וכך זמן יעשה פעולה כל שהיא [לדוגמא ישלח מייל למשתמש שהזמן נגמר], אני לא יכול להשתמש בקוד JS בדפדפן כיון שהמשתמש יכול לצאת מהחשבון שלו ולסגור את הדפדפן ולכבות את המחשב שלו. אני צריך שהמשתמש יוכל לחזור ולהכנס לחשבון שלו ולראות את השעון עצר איך שהוא המשיך לרוץ גם כשהוא לא היה מחובר לחשבון.שעון עצר זו דוגמא אחת, אבל הרעיון הוא ליצור אפשרות שהשרת לא יהיה פסיבי ש'רק' מגיב לבקשות של דפים אלא 'חי' ואקטיבי מול כל חשבון משתמש בפני עצמו.
פורסם במקור בפורום CODE613 ב20/11/2016 08:22 (+02:00)
-
אתה מתכוון כמו משימות מתוזמנות, ללא הגבלת זמן?
לדוגמא, כל 1 לחודש בשעה 9 בבוקר, שלח לי מייל תזכורת לעשות 1,2,3
דוגמא נווספת - לתת למשתמש אפשרות לשלוח מייל מתוזמן ללקוח שלו. "סיימתי שיחה עם לקוח מתעניין, אני יכול להכין לו מייל למחר ולשאול אותו מה קורה, האם הוא מעוניין להמשיך, בלי לשכוח לעשות את זה"הייתי הולך על טבלה שבה אני מממש את כל המשימה המתוזמנת, מה להריץ וכו' עם פרמטרים.
ואז ליצור בשרת טרייד שרץ כל X זמן ובודק אם יש לך משימות לביצוע שעדיין לא בוצעו.
אל תשכח בApplictionStart להוסיף את יצירת הטרייד, כדי שאם האפליקצייה תקרוס, בהפעלה שלה היא תחזיר את הטריד לפעולה.אפשרות אחרת זה להשתמש עם המשימות המתוזמנות המובנות בוינדוס סרבר.
פשוט ליצור JOB.פורסם במקור בפורום CODE613 ב20/11/2016 09:56 (+02:00)
-
משימות מתוזמנות אכן הם אתגר. שתי האפשרויות שהציע ClickOne הם על חשבון הריכוזיות - הם לא חלק מהיישום.
יש כמה ספריות לזה, הנה מאמר שמסכם יפה מאוד:
http://www.hanselman.com/blog/HowToRunBackgroundTasksInASPNET.aspxפורסם במקור בפורום CODE613 ב20/11/2016 11:41 (+02:00)
-
@דוד ל.ט.
משימות מתוזמנות אכן הם אתגר. שתי האפשרויות שהציע ClickOne הם על חשבון הריכוזיות - הם לא חלק מהיישום.
יש כמה ספריות לזה, הנה מאמר שמסכם יפה מאוד:
http://www.hanselman.com/blog/HowToRunBackgroundTasksInASPNET.aspxהתשובה הראשונה שלך לא ממש מקובלת עלי, ובנוסף ריכוזיות היא לא ערך בעולם התוכנה, העולם הולך לכיוון של micro-services ולדעתי די בצדק,
הכיוון של לשמור את המידע באיזשהו DB הוא נכון, (אני אישית עבדתי עם ה RABBIT) ומאפשר לנהל micro-services שיטפלו בזה ויורידו עומס מה WEB APP, להשקפתי לשלוח מיילים או לתזמן משימות לא אמור להיות תפקיד ה WEB APP.ה micro-services יכולים להיות SQL JOBS או RABBIT או ברמת מערכת ההפעלה, או רכיב צד שלישי אחד מהכתבה שהבאת.
פורסם במקור בפורום CODE613 ב20/11/2016 12:14 (+02:00)
-
softs אני מבין אותך לגמרי אבל עוד יותר מזה מבין את עצמי...
זה ברור שהבוחר יבחר. אבל אני אישית ורצה משהו שקל לנייד אותו לשרת אחר ולא להקים מחדש מאה הגדרות קטנות. בגלל זה אפי' בSQL SERVER אצלי הוא רכיב מרגיז.
כל הדוגמאות במאמר שצירפתי הם ממש חלק הWEB APP כלומר הם מופעלים ו/או מוגדרים באפליקציה של ASP, והם גם רצים מהטריד הראשי שלה.פורסם במקור בפורום CODE613 ב20/11/2016 15:41 (+02:00)