גישה נכונה לביצוע פעולות ארוכות ומנותקות
המשתמש מבצע פעולות דרך האתר, הנתונים הרלוונטים נשמרים ב DB,
לאחר מכן יש צורך לבצע מספר פעולות ארוכות ואסינכרוניות הנתטם לנתונים שנשמרו,
אלו פעולות המורכבות ממספר שלבים, שכל שלב עשוי לקחת מספר דקות ויש צורך במרווח זמן של כרבע שעה בין פעולה לפעולה,
את המשתמש שביצע את הפעולות דרך האתר זה לא מעניין.
לוגית ברור מה יש לבצע, השאלה היא מה המנגנון הנכון לבצע זה,
כלומר, כל הזמן מתווספים נתונים ל DB, וצריך תהליך רקע שדוגם את הנתונים, מבצע את הפעולות שתארתי לעיל ומעדכן את ה DB בתוצאות.
מניסיון העבר בד"כ מייצרים Windows Service שרץ באופן קבוע על השרת,
הוא דוגם את הטבלה ב DB כל X דקות, מבצע את הפעולות, מעדכן את הרשומות הרלוונטיות ב DB עם הנתונים החדשים וכותב תאור של כל מה שבוצע לטבלת Log.
האם זה אכן הכיוון הנכון?
המשתמש מבצע פעולות דרך האתר, הנתונים הרלוונטים נשמרים ב DB,
לאחר מכן יש צורך לבצע מספר פעולות ארוכות ואסינכרוניות הנתטם לנתונים שנשמרו,
אלו פעולות המורכבות ממספר שלבים, שכל שלב עשוי לקחת מספר דקות ויש צורך במרווח זמן של כרבע שעה בין פעולה לפעולה,
את המשתמש שביצע את הפעולות דרך האתר זה לא מעניין.
לוגית ברור מה יש לבצע, השאלה היא מה המנגנון הנכון לבצע זה,
כלומר, כל הזמן מתווספים נתונים ל DB, וצריך תהליך רקע שדוגם את הנתונים, מבצע את הפעולות שתארתי לעיל ומעדכן את ה DB בתוצאות.
מניסיון העבר בד"כ מייצרים Windows Service שרץ באופן קבוע על השרת,
הוא דוגם את הטבלה ב DB כל X דקות, מבצע את הפעולות, מעדכן את הרשומות הרלוונטיות ב DB עם הנתונים החדשים וכותב תאור של כל מה שבוצע לטבלת Log.
האם זה אכן הכיוון הנכון?