› פורומים › אפיון ופיתוח פריוריטי › הפקת דוח באקסל משתי תוכניות בו זמנית
- This topic has 9 תגובות, 4 משתתפים, and was last updated לפני 6 שנים, 9 חודשים by snoof123.
- Post
-
- ספטמבר 17, 2017 בשעה 8:49 pm
מתזמן המשימות מריץ 2 תוכניות של הפקת דוח באקסל.
במידה ושתי התוכניות רצות בו בזמן נוצרת התנגשות בפתיחה של האקסל והתהליך נתקע. האם ידוע על פתרון לבעיה?קרה לי מצב כזה לאחר אתחול של השרת , ולפי אשבל כל אתחול כזה או אפילו הרצה מחדש של ה tts , מריץ את כל התוכניות המתוזמנות בין טווח שעות מסויים.
כך קורה ששתי תוכניות שמפיקות דוח באקסל רצות ביחד ומתנגשות.למישהו פתרון?
- Replies
-
- ספטמבר 17, 2017 בשעה 9:25 pm
תכין פרוצדורה שתעשה את שתי הפעולות אחת אחרי השניה, ותתזמן אותה במקום.במקום פרוצדורה אפשר קובץ sqli. על שניהם צריכים להגן כראוי, כמובן.
[ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]- ספטמבר 17, 2017 בשעה 10:05 pm
1- מה קורה אם יש לי 10 תוכניות שונות? כל אחת מפיקה דוח אקסל, וכל אחת מתוזמנת לשעה אחרת.
לנהל את כולם בפרצדורה אחת נראה לי מורכב מדי.2- מהו קובץ SQLI?
- ספטמבר 17, 2017 בשעה 11:08 pm
אם הן מתוזמנות לשעות אחרות למה יש בעיה של התנגשות?קובץ SQLI זה קובץ פקודות שמריצים ב-SQLI. זה מה שסביבת הפיתוח עושה, רק אתה לא רואה את הקובץ והוא מציג לך את הפלט.
[ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]- ספטמבר 17, 2017 בשעה 11:11 pm
1- בשוטף אין כל בעיה. כאשר מבצעים אתחול לשרת או ל- TTS אז כל המשימות רצות ביחד באותו הזמן לאחר האתחול.2- יש לך דוגמא לקובץ כזה. לא כל כך הבנתי את כוונתך
תודה
- ספטמבר 17, 2017 בשעה 11:13 pm
האם הרצה של התוכנית כ- ACTIVF יכולה לפתור את הבעיה?ייתכן והבעיה מופיעה כי נוצר תהליך זהה מספר פעמים בו זמנית?
- ספטמבר 18, 2017 בשעה 9:20 am
גם אצלי יש בעיה כזו שהtts מפעיל את התוכניות אחרי כל שינוי. לא רואה את ההיגיון פה.אולי תנסה לייצר חסימת הרצת במקביל עי שימוש בטבלת lasts
תבנה 2 פונקציות אחד של נעילה ואחת של שחרור ותפעיל אותם לפני ואחרי התוכניות.- ספטמבר 18, 2017 בשעה 4:56 pm
זאת כנראה התהנגות שאני לא ראיתי אולי בגלל שלא השתמשתי בגרסה זאת.לגבי SQLI – אם אתה מכיר את סביבת הפיתוח ה-SQL (שם פנימי: WINDBI)
אפשר פשוט ליצור קובץ עצמאי אם אותו סוג פקודות שאפשר להריץ שם (זאת אומרת ללא קשר לכל מסך או פרוצדורה או כלום) ואז אפשר להפעיל את התוכנה SQLI אם פרמטר שהוא הנתיב של הקובץ ההוא והיא תריץ אותה.
ולכן אם היו לך 2 משימות של WINACTIV ב-TTS הייתי יכול לשים שורות של EXECUTE WINACTIV בקובץ (לשים לב שיש לסדר את הפרמטרים של ה-WINACTIV באופן הנכון) וזה יריץ אותן אחת אחרי השניה (יכול להיות במקרה הזה שצריכים לדאוג לפרמטר שיגרום לזה לחכות לסיום)[ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]- פברואר 8, 2018 בשעה 3:48 pm
( בלי לנסות אלא רק מרפרוף בSDK) אולי אפשר להשתמש בSEMAPHORE (אם הבנתי נכון הוא נועל את הפרוצדורה בזמן שהיא רצה ואי אפשר להשתמש בה עד שהיא לא מסיימת, אולי תוכל להכניס את אותו שם משתנה במהלך הריצה (מתוך הפרוצדורות) ואז המערכת תחשוב שהפרוצדורה כבר רצה ותעכב עד לסיום הריצה).בדיוק מצאתי את החלק הזה כשחיפשתי מידע לגבי STACK_ERR.
- יש להתחבר למערכת על מנת להגיב.