הפעלת עסקאות

Invoke Transactions משמשות להפעלת פקודה אחת או יותר של Cluster Commands בצומת יעד. הוא דומה לקריאות לפרוצדורות מרוחקות שמבוצעות לפקודה שהוגדרה באשכול.

בדומה לעסקאות כתיבה, עסקאות קריאה תומכות בעסקאות מתוזמנות ובעסקאות לא מתוזמנות. מידע נוסף על טרנזקציות מתוזמנות זמין בקטע פעולות מתוזמנות ולא מתוזמנות.

עסקת Invoke ללא הגדרת זמן

רצף הפעולות של עסקת Invoke ללא תזמון
איור 1: עסקת Invoke ללא תזמון

הפעלת פעולת בקשה

כיוון: יוזם -> יעד

בדומה לפעולות 'בקשת קריאה' ו'בקשת כתיבה', בפעולה הזו מבצע ההתחלה מספק ליעד את הפרטים הבאים:

  • בקשות להפעלה: רשימה של נתיבים לפקודות באשכול, וגם ארגומנטים אופציונליים לפקודות, שנקראים שדות פקודות.
  • בקשה מתוזמנת: דגל שמציין אם הפעולה הזו היא חלק מעסקת Timed Invoke.
  • Suppress Response: סימון שמציין אם צריך לדכא את הפעולה Invoke Response.
  • Interaction ID: מספר שלם המשמש להתאמה של פעולת הבקשה להפעלה לפעולת התגובה להפעלה.

הפעלת פעולת תגובה

כיוון: יעד -> מבצע הפעולה

אחרי שהיעד יקבל את פעולת הבקשה להפעלה, הוא ישלים את העסקה באמצעות פעולת תגובה להפעלה, שכוללת את הפרטים הבאים:

  • Invoke Responses: רשימה של תשובות או סטטוסים של פקודות לכל בקשת invoke שנשלחה.
  • מזהה אינטראקציה: מספר שלם שמשמש להתאמה של פעולת התגובה להפעלה לפעולת הבקשה להפעלה.

הגבלות על הפעלה ללא הגבלת זמן

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

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

עסקאות Timed Invoke

בדומה לעסקאות כתיבה מתוזמנות, גם עסקאות הפעלה מתוזמנות מתחילות בפעולה של בקשה מתוזמנת.

רצף הפעולות של עסקת Timed Invoke
איור 2: עסקת Invoke מתוזמנת

פעולה של בקשה מתוזמנת

כיוון: יוזם -> יעד

הגורם המבצע את הפעולה מתחיל את הטרנזקציה על ידי שליחת הפעולה הזו, שמכילה את הפרטים הבאים:

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

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

הפעלת פעולת בקשה

זהה ל-Invoke Request Action שמתואר למעלה.

הפעלת פעולת תגובה

זהה לפעולת הקריאה לתגובה שתיארנו קודם.

הגבלות על הפעלה מתוזמנת

אפשר להפעיל את כל פקודות ההפעלה באינטראקציה מתוזמנת. הפעולות Timed Request,‏ Invoke Request ו-Invoke Response הן Unicast בלבד, ולכן אי אפשר להשתמש בהן כ-groupcast בטרנזקציות של Timed Invoke.

הפעולה Invoke Request תומכת בשימוש בנתיבים עם קבוצות, וגם בתווים כלליים לחיפוש, אבל הפעולה Invoke Response לא תומכת בשימוש בתווים כלליים לחיפוש.