הפקת דוח באקסל משתי תוכניות בו זמנית

פורומים אפיון ופיתוח פריוריטי הפקת דוח באקסל משתי תוכניות בו זמנית

  • Post
    ofir
    משתתף
    מתזמן המשימות מריץ 2 תוכניות של הפקת דוח באקסל.
    במידה ושתי התוכניות רצות בו בזמן נוצרת התנגשות בפתיחה של האקסל והתהליך נתקע. האם ידוע על פתרון לבעיה?

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

    למישהו פתרון?

מוצגות 9 תגובות – 1 עד 9 (מתוך 9 סה״כ)
  • Replies
    yitzchok
    משתתף
    IL
    תכין פרוצדורה שתעשה את שתי הפעולות אחת אחרי השניה, ותתזמן אותה במקום.

    במקום פרוצדורה אפשר קובץ sqli. על שניהם צריכים להגן כראוי, כמובן.

      [ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
    ofir
    משתתף
    1- מה קורה אם יש לי 10 תוכניות שונות? כל אחת מפיקה דוח אקסל, וכל אחת מתוזמנת לשעה אחרת.
    לנהל את כולם בפרצדורה אחת נראה לי מורכב מדי.

    2- מהו קובץ SQLI?

    yitzchok
    משתתף
    IL
    אם הן מתוזמנות לשעות אחרות למה יש בעיה של התנגשות?

    קובץ SQLI זה קובץ פקודות שמריצים ב-SQLI. זה מה שסביבת הפיתוח עושה, רק אתה לא רואה את הקובץ והוא מציג לך את הפלט.

      [ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
    ofir
    משתתף
    1- בשוטף אין כל בעיה. כאשר מבצעים אתחול לשרת או ל- TTS אז כל המשימות רצות ביחד באותו הזמן לאחר האתחול.

    2- יש לך דוגמא לקובץ כזה. לא כל כך הבנתי את כוונתך

    תודה

    ofir
    משתתף
    האם הרצה של התוכנית כ- ACTIVF יכולה לפתור את הבעיה?

    ייתכן והבעיה מופיעה כי נוצר תהליך זהה מספר פעמים בו זמנית?

    123
    משתתף
    גם אצלי יש בעיה כזו שהtts מפעיל את התוכניות אחרי כל שינוי. לא רואה את ההיגיון פה.

    אולי תנסה לייצר חסימת הרצת במקביל עי שימוש בטבלת lasts
    תבנה 2 פונקציות אחד של נעילה ואחת של שחרור ותפעיל אותם לפני ואחרי התוכניות.

    yitzchok
    משתתף
    IL
    זאת כנראה התהנגות שאני לא ראיתי אולי בגלל שלא השתמשתי בגרסה זאת.

    לגבי SQLI – אם אתה מכיר את סביבת הפיתוח ה-SQL (שם פנימי: WINDBI)
    אפשר פשוט ליצור קובץ עצמאי אם אותו סוג פקודות שאפשר להריץ שם (זאת אומרת ללא קשר לכל מסך או פרוצדורה או כלום) ואז אפשר להפעיל את התוכנה SQLI אם פרמטר שהוא הנתיב של הקובץ ההוא והיא תריץ אותה.
    ולכן אם היו לך 2 משימות של WINACTIV ב-TTS הייתי יכול לשים שורות של EXECUTE WINACTIV בקובץ (לשים לב שיש לסדר את הפרמטרים של ה-WINACTIV באופן הנכון) וזה יריץ אותן אחת אחרי השניה (יכול להיות במקרה הזה שצריכים לדאוג לפרמטר שיגרום לזה לחכות לסיום)

      [ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
    ofir
    משתתף
    היי ינאי
    מצאת אולי פתרון לרענון של ה tts?
    snoof123
    משתתף
    ( בלי לנסות אלא רק מרפרוף בSDK) אולי אפשר להשתמש בSEMAPHORE (אם הבנתי נכון הוא נועל את הפרוצדורה בזמן שהיא רצה ואי אפשר להשתמש בה עד שהיא לא מסיימת, אולי תוכל להכניס את אותו שם משתנה במהלך הריצה (מתוך הפרוצדורות) ואז המערכת תחשוב שהפרוצדורה כבר רצה ותעכב עד לסיום הריצה).

    בדיוק מצאתי את החלק הזה כשחיפשתי מידע לגבי STACK_ERR.

מוצגות 9 תגובות – 1 עד 9 (מתוך 9 סה״כ)
  • יש להתחבר למערכת על מנת להגיב.