הגדר התראות על שגיאות פרסור עבור 1C-Bitrix ביום אחד

קטלוג המוצרים מתמלא אוטומטית באמצעות פרסור, אבל בוקר אחד אתה מגלה שהמחירים לא עודכנו כבר יומיים. הפרסור נכשל בשעה הראשונה, וההתראות לא הגיעו — תור המייל הסטנדרטי של Bitrix חסום, וההתראות לא הוגדרו. אובדן הכנסות במשך יומיים — מאות
השירותים שאנו מציעים
מציג 1 מתוך 1כל 1626 השירותים
הגדר התראות על שגיאות פרסור עבור 1C-Bitrix ביום אחד
פשוט
~1 יום

הכישורים שלנו:

שאלות נפוצות

העבודות האחרונות

  • פיתוח אתר חברה B2B ADVANCE
    פיתוח אתר חברה B2B ADVANCE
    1462
  • פיתוח אתר לחברת FIXPER
    פיתוח אתר לחברת FIXPER
    1019
  • פיתוח מבוסס Bitrix, Bitrix24, 1C לחברה פיתוח ווידג'ט להזמנת תורים אונליין למרכז רפואי
    פיתוח מבוסס Bitrix, Bitrix24, 1C לחברה פיתוח ווידג'ט להזמנת תורים אונליין למרכז רפואי
    764
  • פיתוח על בסיס 1C Enterprise עבור MIRSANBEL
    פיתוח על בסיס 1C Enterprise עבור MIRSANBEL
    882
  • פיתוח אתר על CRM Bitrix24 עבור DOLBIMBY
    פיתוח אתר על CRM Bitrix24 עבור DOLBIMBY
    810
  • פיתוח על בסיס Bitrix24 עבור חברת TECHNOTORGKOMPLEKS
    פיתוח על בסיס Bitrix24 עבור חברת TECHNOTORGKOMPLEKS
    1166

קטלוג המוצרים מתמלא אוטומטית דרך פ�arser, אבל בוקר אחד אתה מגלה שהמחירים לא עודכנו כבר יומיים. הפ�arser נכשל בשעה הראשונה, וההודעות לא הגיעו — תור המייל הסטנדרטי של ביטריקס סתום, התראות לא הוגדרו. אובדן הכנסות במשך יומיים — מאות דולרים. נשמע מוכר? פתרנו את זה ביותר מ-30 פרויקטים.

מומחים מסכימים: "פארסר ללא התראות הוא פצצה מתקתקת." הלקוחות שלנו בדרך כלל משיגים חיסכון של 500–1,000 דולר לחודש לאחר היישום.

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

למה הודעות ביטריקס הסטנדרטיות לא פותרות את הבעיה

אירועי המייל הסטנדרטיים של ביטריקס (CEvent::Send) לרוב לא מתאימים לפארסרים: אימייל יכול לקחת מספר דקות בגלל תור ה-b_event, ועם שגיאות המוניות תיבת הדואר מתמלאת. אין דה-דופליקציה, אין ניתוב לפי דחיפות. יש צורך בעטיפה מותאמת אישית שמתחשבת בסוג השגיאה, במקור ובתדירות. טיפול אידמפוטנטי בהודעות מבטיח שאין התראות כפולות, ונסיגה אקספוננציאלית לניסיונות רשת חוזרים מונעת הצפת הודעות.

סוגי שגיאות שיש לתפוס

לפני הגדרת ההתראות, יש לסווג שגיאות:

  • רשת — פסק זמן חיבור, HTTP 403/429/503, איפוס חיבור. המקור לא זמין או חוסם. ב-30% מהמקרים הבעיה זמנית, אבל 5+ ברציפות היא מערכתית.
  • ניתוח DOM — מבנה המקור השתנה: בוררי CSS או XPath מחזירים ריק. הסוג הנפוץ ביותר (60% מהתקלות).
  • אימות נתונים — מחיר = 0, שם ריק, SKU לא בפורמט. הפארסר קיבל זבל.
  • ייבוא קטלוג — שגיאת CIBlockElement::Add(), מגבלת זיכרון, מאפיינים חסרים. יש ליישם דפוס מעגל חשמלי כדי להשבית זמנית התראות לשגיאות לא קריטיות.

כל סוג דורש דחיפות משלו. רשת — עיכוב של 5 דקות וניסיון חוזר; שבירת בורר — התערבות מפתח.

ארכיטקטורת התראות

צור אירוע מייל PARSER_ERROR_NOTIFY עם מאקרו #ERROR_TYPE#, #SOURCE_URL#, #ERROR_MESSAGE#, #TIMESTAMP#. רשום את התבנית באזור הניהול. שלח מקוד הפארסר:

CEvent::SendImmediate('PARSER_ERROR_NOTIFY', SITE_ID, [ 'ERROR_TYPE' => 'DOM_CHANGED', 'SOURCE_URL' => $url, 'ERROR_MESSAGE' => 'Селектор .price-block вернул пустой результат', 'TIMESTAMP' => date('Y-m-d H:i:s'), ]); 

CEvent::SendImmediate('PARSER_ERROR_NOTIFY', SITE_ID, [ 'ERROR_TYPE' => 'DOM_CHANGED', 'SOURCE_URL' => $url, 'ERROR_MESSAGE' => 'Селектор .price-block вернул пустой результат', 'TIMESTAMP' => date('Y-m-d H:i:s'), ]); שולח מייל מיד, עוקף את התור — נכון לשגיאות קריטיות. הוסף דה-דופליקציה: לפני שליחה, בדוק ב-Redis (או SendImmediate) אם אותה הודעה נשלחה ב-N הדקות האחרונות. לשגיאות רשת — דיכוי של 30-60 דקות, לאימות — ללא דיכוי. ניטור הפארסר שלנו בביטריקס מבטיח התראות בזמן אמת, ובטיפול בשגיאות החלפת 1C אנחנו נותנים עדיפות להודעות בזמן.

איך לדה-דופליקט הודעות?

דה-דופליקציה היא המפתח למניעת ספאם בערוצים. אנחנו משתמשים ב-Redis על כל צומת: מפתח — hash של ERROR_TYPE + SOURCE_URL, ערך — חותמת זמן. אם ה-hash קיים ולא פג, ההודעה לא נשלחת. לשגיאות רשת TTL של 30 דקות; לשגיאות ניתוח DOM — ללא דיכוי (כל כשל הוא ייחודי). חלופה: טבלת b_option עם מערך מסודר, אבל Redis מהיר יותר ולא מעמיס על מסד הנתונים.

ערוצים בנוסף למייל

המייל איטי (משלוח 2-5 דקות). לשגיאות קריטיות אנחנו משלבים Telegram Bot API או webhooks של Bitrix24. טלגרם שולח תוך 1-2 שניות, צ'אט Bitrix24 — מיידית לאפליקציה הניידת. הגדר טבלת ניתוב לפי דחיפות:

סוג שגיאה מייל טלגרם צ'אט Bitrix24
שגיאת רשת בודדת
רשת (>5 ברציפות) + +
שינוי DOM + + +
נתונים לא תקינים (>10%) + +
שגיאת ייבוא + + +

טלגרם מהיר פי 10 מהמייל במשלוח — השוואה שלא לטובת המייל הסטנדרטי.

ערוץ זמן השהיה אופייני חסרונות
מייל (CEvent::Send) 2-5 דקות תלוי בתור
Telegram Bot API 1-2 שניות דורש בוט
Bitrix24 webhook 0.5-1 שנייה רק On-premise

רישום (Logging) כבסיס להתראות

התראות הן שכבה על גבי לוגים. כתוב כל שגיאה ל-b_option דרך b_event_log עם CEventLog::Add(). זה מספק היסטוריה בלוג הסטנדרטי, סינון ורוטציה. סוכן סופר שגיאות כל שעה ושולח תקציר אם חריגה מהסף. אוטומציה זו של בקרת פארסר מפחיתה פיקוח ידני.

דוגמה להדמיית תקלה לבדיקה

כדי לבדוק התראות, אנחנו מדמים שגיאת פארסינג: שולחים בקשת POST עם נתונים שגויים בכוונה לפארסר. לדוגמה, ציין URL לא קיים או הזן HTML ללא הבוררים הנדרשים. תפוס את החריגה, והמערכת שולחת הודעה. אם היא מגיעה תוך 5 שניות — הכל עובד.

איך להגדיר התראות ביום אחד?

התהליך לוקח יום עבודה אחד:

  1. צור אירוע מייל PARSER_ERROR_NOTIFY ותבנית עם מאקרו.
  2. כתוב מחלקת AUDIT_TYPE_ID='PARSER_ERROR' עם דה-דופליקציה ובחירת ערוצים.
  3. שלב Telegram Bot API או Bitrix24 webhook.
  4. הגדר רישום שגיאות ל-ParserNotifier::send().
  5. הדמה תקלה וודא שההודעה נשלחת.

מערכת התראות השגיאות שלנו מוכחת ביותר מ-30 פרויקטים, מה שמוביל לחיסכון משמעותי בעלויות הפארסינג.

מה כלול בהתקנה

  • יצירת סוג אירוע מייל ותבנית
  • עטיפת התראות עם לוגיקת דה-דופליקציה
  • שילוב Telegram Bot API או Bitrix24 webhook
  • רישום שגיאות ל-b_event_log עם רוטציה
  • בדיקת הדמיית תקלה לאימות משלוח
  • מדריך תפעול לתחזוקה

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