הערה: כאשר יש יותר משלושה מנתחים (parsers) וכל אחד מופעל באמצעות crontab או קריאות API ידניות, השליטה אובדת. הלוגים מפוזרים בין קבצים, הסטטוסים לא ידועים, ועובד לא טכני לא יכול להתחיל איסוף נתונים בלעדיך. ממשק אינטרנט פותר זאת: הוא הופך כלי CLI למוצר שמנהלים ואנליסטים יכולים להשתמש בו. אנו לוקחים על עצמנו את פיתוח הממשק הזה לחלוטין — מעיצוב ועד פריסה. תוך 6–10 ימי עסקים, תקבל לוח מחוונים עם מדדים אמיתיים, מנגנון הגדרה ללא תכנות, וניטור שגיאות בזמן אמת. לדוגמה, אחד הלקוחות שלנו איחד 25 מנתחים מפוזרים לפאנל אחד — זמן בדיקת הסטטוסים ירד משעתיים ל-5 דקות, ושגיאות כפילות נתונים נעלמו.
למה ממשק אינטרנט חיוני
עבודה עם מנתחים דרך הקונסולה מגבילה את הצוות. ממשק אינטרנט מספק לוח מחוונים עם פעילות, שגיאות ורשומות שנאספו בזמן אמת. בלעדיו, יש לבדוק לוגים וסטטוסים ידנית — עבור 50 מנתחים, זה לוקח עד 3 שעות ביום. עם שכר ממוצע של $15 לשעה (כדוגמה), החיסכון מהטמעת ממשק יכול להגיע עד $2,250 בחודש. הממשק שלנו הופך את הבקרה לאוטומטית ומקצר את זמן התגובה לתקלות לפחות מדקה.
איך אנחנו עושים זאת
טכנולוגיות: React 18, TypeScript, Vite לבנייה. לנתונים, אנו משתמשים ב-TanStack Query — הוא מריץ מחדש אוטומטית את סטטוסי המשימות כל 30 שניות. טבלאות עם מיון וסינון — TanStack Table. ניטור בזמן אמת — SSE. SSE יעיל פי 10 מבדיקה תקופתית (polling) מבחינת עומס על השרת, וזמן העדכון הוא 1–5 אלפיות שנייה לעומת 10–30 שניות בבדיקה תקופתית. כתוצאה מכך, משתמשים רואים שינויים מיידית, והשרת מתמודד עם עד 1000 חיבורים בו-זמנית ללא ירידה בביצועים.
איך עובד ניטור בזמן אמת
אנו מיישמים Server-Sent Events (SSE) — פרוטוקול קל משקל להעברת התראות push מהשרת. כשהבוט מתחיל, השרת שולח עדכוני התקדמות. הלקוח נרשם באמצעות EventSource. הקוד שלהלן מציג רכיב שמציג התקדמות ושגיאות.
import { useEffect, useState } from 'react'; interface RunProgress { status: 'pending' | 'running' | 'completed' | 'failed'; processed: number; total: number; errors: number; } function ScraperRunProgress({ runId }: { runId: number }) { const [progress, setProgress] = useState<RunProgress | null>(null); useEffect(() => { const es = new EventSource(`/api/v1/runs/${runId}/progress`); es.onmessage = (e) => setProgress(JSON.parse(e.data)); es.onerror = () => es.close(); return () => es.close(); }, [runId]); if (!progress) return <Spinner />; const pct = progress.total > 0 ? Math.round(progress.processed / progress.total * 100) : 0; return ( <div className="space-y-2"> <div className="flex justify-between text-sm"> <span>{progress.processed} / {progress.total}</span> <span className="text-red-500">{progress.errors} ошибок</span> </div> <Progress value={pct} /> </div> ); } מקור: MDN: Server-Sent Events
מנגנון הגדרת המנתח
טופס עם שדות: כתובת מקור, לוח זמנים (בורר cron), כותרות (headers), הגדרות פרוקסי, מיפוי שדות בגרירה ושחרור. המשתמש יכול להגדיר מנתח ללא ידע בתכנות. לדוגמה, כדי לאסוף 10,000 מוצרים מחנות מקוונת, פשוט ציינו את הקטלוג ובחרו שדות — הממשק יוצר את השאר אוטומטית. אנו גם מוסיפים בדיקות ייחודיות לרשומות כדי למנוע כפילויות, ומצמצמים שגיאות ל-1%.
מה אתם מקבלים
| רכיב | תיאור |
|---|---|
| לוח מחוונים | סטטיסטיקות סיכום, גרפים, שגיאות אחרונות |
| רשימת משימות | טבלה עם סינון, מיון, סטטוסים |
| מנגנון הגדרה | מקור, לוח זמנים, כותרות, הגדרות פרוקסי |
| מציג נתונים | טבלת תוצאות, חיפוש, ייצוא CSV |
| ניטור | עדכוני התקדמות SSE, התראות שגיאה |
| תיעוד | הוראות שימוש, תיאור API |
השוואת שיטות ניטור
| מאפיין | SSE | בדיקה תקופתית | WebSocket |
|---|---|---|---|
| זמן עדכון | 1–5 אלפיות שנייה | 10–30 שניות | 1–5 אלפיות שנייה |
| עומס על השרת | נמוך | בינוני | גבוה |
| מורכבות הטמעה | נמוכה | נמוכה | בינונית |
| תמיכה בדפדפנים | כל המודרניים | כל | כל |
תהליך העבודה
- ניתוח דרישות: אילו מקורות לנתח, אילו נתונים לאסוף, באיזו תדירות.
- עיצוב ארכיטקטורה: סכמות מסד נתונים, API, WebSocket/SSE.
- פיתוח אב טיפוס של לוח מחוונים עם פונקציונליות בסיסית.
- אינטגרציה עם מנתחים קיימים (או יצירת חדשים).
- בדיקות: בדיקות יחידה, בדיקות אינטגרציה, בדיקות עומס (עד 100,000 רשומות).
- פריסה לשרת הלקוח או לענן.
- תיעוד והדרכת צוות.
טעויות נפוצות בפיתוח בלעדינו
- בדיקה תקופתית במקום SSE — עומס פי 10 על השרת.
- אין דפדוף (pagination) — הממשק קופא עם 50,000+ רשומות.
- תלות הדוקה במקור אחד — לא ניתן להוסיף מנתח חדש.
לוח זמנים ואחריות
פיתוח ממשק אינטרנט טיפוסי — בין 6 ל-10 ימי עסקים. אנו מבטיחים פעולה יציבה ותיקון באגים לאחר הפריסה. לצוות שלנו יש ניסיון של למעלה מ-5 שנים בפיתוח מערכות ניתוח. ההשקעה בפיתוח מחזירה את עצמה תוך 2–3 חודשים בזכות חיסכון בזמן העובדים.
צרו קשר כדי להעריך את הפרויקט שלכם ולקבל ייעוץ. הזמינו פיתוח של ממשק אינטרנט לניהול מנתחי בוטים.







