כשמסרים מועברים למנוי מסוג pull, המנוי צריך לעבד את המסר ולשלוח אישור (ack) על קבלתו לפני תאריך היעד לאישור. אחרת, המנוי צריך להאריך את המועד האחרון באמצעות קריאה לשינוי המועד האחרון לאישור.
ספריות הלקוח ברמה גבוהה של Pub/Sub מספקות ניהול של תקופת השכירות כתכונה שמאריכה באופן אוטומטי את המועד האחרון של הודעה שעדיין לא אושרה. כברירת מחדל, ספריות הלקוח יכולות להאריך את מועד סיום התהליך לשעה על ידי שליחת בקשות תקופתיות של modifyAckDeadline.ספריות הלקוח ברמה גבוהה ל-Python, Go ו-Java משתמשות באחוזון ה-99 של עיכוב האישור כדי לקבוע את משך כל הארכה.
ניהול השכרה מאפשר לכם שליטה מפורטת יותר על המועד האחרון לאישור קבלת ההודעות, בהשוואה להגדרת המאפיין ברמת המינוי. אם אתם משתמשים רק במועד האחרון לאישור ברמת המינוי, אתם צריכים למצוא את האיזון בין ערך נמוך לערך גבוה. ערך נמוך מגדיל את הסיכוי לכפילויות, וערך גבוה מעכב את המסירה מחדש של הודעות שנכשלו. יכול להיות שיהיה קשה לקבוע את הערך הנכון, במיוחד אם משך העיבוד הצפוי של הודעות שונות משתנה באופן משמעותי.
מידע נוסף על מאפייני המינוי, כולל המועד האחרון לאישור
הגדרת ניהול חוזי שכירות
אפשר להגדיר את המאפיינים הבאים בספריות הלקוח ברמה גבוהה כדי לשלוט בניהול ההשכרה.
תקופת ההארכה המקסימלית לאישור. הזמן המקסימלי שספריית הלקוח יכולה להאריך את המועד האחרון לאישור קבלה של הודעה באמצעות בקשת
modify acknowledgment deadline. המאפיין הזה מאפשר לקבוע כמה זמן לקוחות המנויים צריכים לעבד הודעות.משך הגישה המקסימלי לכל תוסף אישור. הזמן המקסימלי שבו אפשר להאריך את המועד האחרון לאישור כל אחת מ-
modify acknowledgment deadlineהבקשות. המאפיין הזה מאפשר להגדיר את משך הזמן שיידרש ל-Pub/Sub כדי לשלוח מחדש הודעה. שליחה מחדש מתרחשת כשהמנוי הראשון שמבצע עיבוד של ההודעה קורס או מפסיק להיות תקין, ולא יכול יותר לשלוח את הבקשהmodify acknowledgment deadline.משך הזמן המינימלי לכל תוסף אישור. משך הזמן המינימלי שבו צריך להאריך את המועד האחרון לאישור כל אחת מ-
modify acknowledgment deadlineהבקשות. במאפיין הזה אפשר לציין את משך הזמן המינימלי שצריך לעבור לפני שההודעה נשלחת מחדש.
המועדים האחרונים לאישור לא יכובדו אלא אם תפעילו את האפשרות משלוח בדיוק פעם אחת.
ניהול ידני של מועדי אישור
מומלץ מאוד להשתמש בספריות לקוח ברמה גבוהה. אם זה לא עובד, או אם אתם צריכים להשתמש בבקשת משיכה יחידה, תוכלו להשתמש בבקשת modify acknowledgment deadline כדי להאריך את המועדים לאישור.
ספריית הלקוח ברמה גבוהה של C++ היא יוצאת דופן, והיא מספקת ניהול של חכירה כשמשתמשים במשיכה אוניטרית. דוגמאות למשיכה אוטומטית של נתונים עם ניהול של תקופת השכרה:
C#
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של C# במאמר הפעלה מהירה: שימוש בספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Pub/Sub C# API.
Java
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Java במאמר התחלה מהירה: שימוש בספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Pub/Sub Java API.
Node.js
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Node.js במאמר הפעלה מהירה: שימוש בספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Pub/Sub Node.js API.
Python
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Python במאמר תחילת העבודה המהירה: שימוש בספריות לקוח. מידע נוסף מופיע במאמרי העזרה של ה-API בשפת Python של Pub/Sub.
Ruby
בדוגמה הבאה נעשה שימוש בספריית הלקוח של Ruby Pub/Sub בגרסה 3. אם אתם עדיין משתמשים בספרייה v2, כדאי לעיין במדריך להעברה לגרסה v3. כדי לראות רשימה של דוגמאות קוד של Ruby v2, אפשר לעיין ב דוגמאות הקוד שהוצאו משימוש.
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Ruby במאמר תחילת העבודה המהירה: שימוש בספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Pub/Sub Ruby API.
המאמרים הבאים
מידע נוסף על אפשרויות משלוח אחרות שאפשר להגדיר למינוי: