TIPCommon.smp_time

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

המרת זמן ומניפולציה של זמן

הכלים האלה מספקים שיטות סטנדרטיות להמרת נתוני זמן בין פורמטים שונים, כולל חותמות זמן של Unix, מחרוזות RFC 3339 ואובייקטים של Python datetime.

תפקיד פרמטרים תיאור
change_timezone()
  • dtime: (datetime) אובייקט המקור.
  • current_tz: (str) השם של אזור הזמן הנוכחי.
  • new_tz: (str) שם אזור הזמן של היעד.
החזרות: datetime.datetime

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

convert_string_to_timestamp()
  • datetime_string: (str) מחרוזת המקור.
החזרות: int

מנתחת מחרוזת של תאריך ושעה ומחזירה את חותמת הזמן המקבילה של מערכת Unix.

datetime_to_rfc3339()
  • datetime_obj: (datetime) אובייקט המקור.
החזרות: str

ממירה אובייקט datetime למחרוזת שתואמת ל-RFC 3339.

get_timestamps()
  • range_string: (str) טווח זמן עם שם.
  • start_time_string: (str) גבול התחלה.
  • end_time_string: (str) הגבול העליון.
  • error_message: (str) טקסט חריג בהתאמה אישית.
  • time_in_milliseconds: (bool) ברירת המחדל היא False.
החזרות: tuple[int, int]

מחשבת חותמות זמן של Unix להתחלה ולסיום על סמך תיאורי טווח ומחרוזות של גבולות.

get_timestamps_from_range()
  • range_string: (str) טווח פלטפורמה בעל שם.
  • include_timezone: (bool) Includes TZ info if True.
החזרות: tuple[datetime, datetime]

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

מצב ושימור

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

תפקיד פרמטרים תיאור
get_last_success_time()
  • siemplify: מופע SDK ‏(ChronicleSOAR).
  • offset_with_metric: (dict) חלופה לאופסט.
  • time_format: (int) DATETIME ‏ (1) או UNIX ‏ (2).
  • print_value: (bool) רישום במסוף אם True.
  • microtime: (bool) החלפת מצב של דיוק.
החזרות: time (DataModel)

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

save_timestamp()
  • siemplify: מופע SDK ‏(ChronicleSOAR).
  • alerts: (dict) קבוצה של התראות שעברו עיבוד.
  • timestamp_key: (str) ברירת המחדל היא 'timestamp'.
  • incrementation_value: (int) מספר אלפיות השנייה שיוספו לתוצאה.
  • log_timestamp: (bool) רישום במסוף אם True.
  • convert_timestamp_to_micro_time: (bool) החלפת מצב.
  • convert_a_string_timestamp_to_unix: (bool) החלפת מצב.
החזרות: bool

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

siemplify_fetch_timestamp()
  • siemplify: מופע SDK ‏(ChronicleSOAR).
  • datetime_format: (bool) מתג להחזרת אובייקט.
  • timezone: (bool) כופה שימוש ב-UTC אם True.
החזרות: int | datetime

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

siemplify_save_timestamp()
  • siemplify: מופע SDK ‏(ChronicleSOAR).
  • new_timestamp: (int) הערך לשמירה.
  • datetime_format: (bool) ברירת המחדל היא False.
  • timezone: (bool) ברירת המחדל היא False.
החזרות: None

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

validate_timestamp()
  • last_run_timestamp: (datetime) ערך הבדיקה.
  • offset_in_hours: (int) חלון מבט לאחור מקסימלי.
  • offset_is_in_days: (bool) מתג להפעלה או להשבתה של לוגיקה שמבוססת על ימים.
החזרות: datetime

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

מעקב אחר ביצוע

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

תפקיד פרמטרים תיאור
is_approaching_action_timeout()
  • action_execution_deadline_in_unix: (int) דדליין.
  • timeout_threshold_in_sec: (int) מאגר נתונים זמני. ברירת המחדל היא 10.
החזרות: bool

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

is_approaching_timeout()
  • connector_starting_time: (int) שעת ההתחלה.
  • python_process_timeout: (מספר שלם) משך הזמן המקסימלי.
  • timeout_threshold: (float) 0.9 (TIMEOUT_THRESHOLD).
החזרות: bool

המערכת מזהה אם מחבר ניצל את תקציב הזמן שלו על סמך 90% TIMEOUT_THRESHOLD.