Repository navigation
Implement github issue 1014 - #1015
Merged
Merged
Conversation
Co-authored-by: amirbiron <amirbiron@gmail.com>
Contributor
|
Cursor Agent can help with this pull request. Just |
Contributor
🧯 Dangerous deletes guard reportPolicy: see .cursorrules — dangerous deletions are blocked unless wrapped safely. Summary:
Flagged findings (file:line:snippet): Excluded matches (by path pattern) |
Contributor
⏱️ Performance report(No performance test durations collected. Mark tests with |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
מעדכן: - environment-variables.rst: מוסיף משתני ENV ל-Redis/MongoDB/aiohttp/requests ו-SAFE_MODE - configuration.rst: מקטעי Pooling/HTTP, שימוש ב-http_sync, ודוגמאות .env לפי סביבה - performance-scaling.rst: הנחיות tuning ו"בדיקות מהירות" לאחר שינוי ENV מטרת השינוי: ליישר קו עם השדרוגים האחרונים בניהול חיבורים ו-HTTP Sessions ולספק למפתחים הנחיות ברורות לכוונון וניטור.
amirbiron
marked this pull request as ready for review
October 22, 2025 22:14
Contributor
📖 Documentation PreviewThe documentation has been built successfully!
To view locally:
|
14 of 26 tasks
amirbiron
added a commit
that referenced
this pull request
Sep 16, 2026
…figuration, מספר תלוי-סביבה, ו-.pyc בגיט (#3395) * chore(git): קובצי .pyc יוצאים מניהול גיט אחד-עשר קבצי ``__pycache__/*.cpython-313.pyc`` נכנסו לגיט ב-8098b67e (#3239) למרות ש-``.gitignore`` שורה 2 חוסם את התיקייה. ``git rm --cached`` מוציא אותם מהאינדקס ומשאיר אותם על הדיסק, וה-``.gitignore`` הקיים דואג שהם לא יחזרו כ-untracked. נבדק שאין תלות: כל עשרת האזכורים של ``__pycache__`` בריפו הם החרגות בלבד — ``.ruff.toml``, ``bandit.yaml``, ``.yamllint.yaml``, ``services/code_indexer.py``, ``scripts/audit_config_definitions.py``, ``scripts/find_duplicates.py``, ``github_menu_handler.py``, ``repo_analyzer.py`` ושני טסטים. אף אחד מהם אינו קורא מהתיקייה. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01P1AYmWhLGtpsr7sSdRZVD3 * test(doc_sections): התת-תהליך רץ עם -B ומחוץ לעץ המקור ``test_doc_sections_pulls_no_heavy_modules`` הריץ ``subprocess.run([sys.executable, "-c", code], cwd=_ROOT)`` — כלומר תת-תהליך שכותב ``__pycache__`` לתוך ``services/``, וזה טסט שכותב לעץ המקור. התקדים הנכון כבר קיים בריפו, ב-``tests/test_rst_parser.py``, ושם ההערה מנמקת את שני הדגלים במפורש. השורש היה שהייבוא נשען על ה-``cwd``: הוא עבד רק מפני שהתהליך רץ בשורש הריפו. לכן ``-B`` לבדו לא הספיק — ``sys.path.insert`` עם נתיב מוחלט מנתק את המדידה מעץ העבודה, ורק אז ``cwd=tmp_path`` אפשרי. נמדד, ולא הונח. בקרה מבודדת בלי pytest, על ``services/__pycache__`` ריק: הצורה הישנה כותבת שלושה קבצים (``__init__``, ``backoff_state``, ``doc_sections``), הצורה החדשה כותבת אפס, ותיקיית ה-tmp נשארת ריקה גם היא. ומה שלא השתנה, כדי שלא ייקרא אחרת: בריצת pytest רגילה הדלתא הייתה אפס גם קודם, כי האיסוף עצמו מייבא את אותם מודולים וכותב את אותם קבצים. כלומר זו הפרה של מוסכמה ולא באג נצפה, והערך שלה הוא ביום שבו עץ המקור יהיה לקריאה בלבד — כלל 8 ב-CLAUDE.md. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01P1AYmWhLGtpsr7sSdRZVD3 * docs(configuration): הסרת הבלוק הכפול של Pooling ו-HTTP Clients שלושת הסעיפים "Databases and Cache (Pooling/Timeouts)", "HTTP Clients" ו-"שימוש ב-http_sync" הופיעו פעמיים בקובץ. שניהם נכנסו ב**קומיט אחד**, 171d8f6 (#1015, 23.10.2025), שהכניס את אותו בלוק פעם אחרי "Environment variables" ופעם אחרי "Security" — לפניו הכותרות לא היו בקובץ כלל. המחיר נמדד: מתוך 45 תשובות ``ambiguous_section`` שהכלי ``docs_get_section`` מחזיר על כל 208 קובצי ה-RST, 25 הגיעו מהקובץ הזה לבדו. הכפילות גם חצתה את נרמול הכותרות — ``normalize_title`` מאחד מקפים, ולכן ``שימוש ב‑http_sync`` עם U+2011 ו-``שימוש ב-http_sync`` עם מקף ASCII התנגשו זה בזה. **שני העותקים הושוו שורה-שורה לפני המחיקה, והם אינם זהים** — אבל אף הבדל אינו הבדל בתוכן: פיסוק ב-``REDIS_URL``, ניסוח ב-``.. note::`` ("לא להשתמש" מול "אל תשתמשו", גרשיים עבריים מול מרכאה), והמקף בכותרת. נשאר העותק הראשון **מילה במילה**, כי הוא במקום הנכון מבנית — עם שאר סעיפי הקונפיגורציה, והוא היחיד שמלווה ב-"שימוש ב-http_async" שאין לו כפילות. שבע-עשרה מתוך תשע-עשרה השורות שנמחקו קיימות בו כלשונן, והשתיים הנותרות הן שתי וריאציות הניסוח. עוגנים — נבדק ולא הונח: ``autosectionlabel`` אינו מופעל ב-``conf.py``, ולכן לכותרות אין לייבלים אוטומטיים. העוגן המפורש היחיד בקובץ הוא ``.. _config-error-signatures:``, שיושב הרבה מתחת לבלוק שנמחק, ואליו מפנה ``docs/observability/log-aggregator.rst``. שאר ההפניות הנכנסות הן ``:doc:`` לעמוד כולו. אימות: הספירה הורצה מחדש על כל 208 הקבצים — הקובץ הזה ירד מ-25 ל-**0**, והסך הכול מ-45 ל-20 (הנותרים הם ``development/tools.rst`` ו- ``observability/query-performance-profiler.rst``, שלא נגענו בהם). ובנייה מלאה של Sphinx עם ``-W --keep-going`` עברה באפס אזהרות. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01P1AYmWhLGtpsr7sSdRZVD3 * docs(mcp): משקל הייבוא של הסורק מתואר, ולא נספר ה-docstring של ``outline_scanners/__init__.py`` קבע ש-``from services import rst_parser`` מושך "**ארבעה** מודולים מהריפו", ומנה אותם בשמם — וסגר ב"מהריפו רק מודולים שרשומים כאן בשמם". שתי הטענות אינן נכונות בסביבה שבה ``structlog`` מותקן. נמדד בשתי סביבות באותו עץ: - **בלי** ``structlog``: 73 מודולים, ומהריפו ארבעה — שרשרת ה-``services``. - **עם** ``structlog``: 330 מודולים, ומהריפו שבעה — אותם ארבעה ועוד ``observability``, ``monitoring`` ו-``monitoring.error_signatures``. השרשרת: ``services/__init__.py`` מייבא ``state`` מ-``backoff_state``, ששורה 16 בו **מנסה** לייבא ``observability``; ו-``observability.py`` מייבא ``structlog`` בקשיחות בשורה 22 ומנסה ``monitoring.error_signatures`` בשורה 28. כלומר הזנב הזה תלוי במה שמותקן בסביבה, לא בשורת קוד — וזה בדיוק המבחן שב-``docs/doc-authoring.rst``: מספר שיכול להשתנות בלי שאף שורת קוד תשתנה אינו ערך שנאכף. הניסוח החדש מתאר מה נטען ולמה — חלק קבוע וזנב מותנה — ואינו קובע מספר ואינו סוגר רשימה. האינווריאנט הנושא נשאר, והוא זה שנמדד בשתי הסביבות: **אפס מודולים כבדים**. ותוקן גם דיוק שני: הטסט שאוכף את האינווריאנט מודד את ``services.doc_sections``, לא את ``rst_parser``, וזה נכתב עכשיו כפער מוצהר במקום להשתמע ככיסוי. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01P1AYmWhLGtpsr7sSdRZVD3 --------- Co-authored-by: Claude <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Docs: עדכון Connection Pooling ו-HTTP Sessions
מיישם את #1014 – יישור תיעוד ה‑ENV והקונפיגורציה לשדרוגי Pooling ולשימוש ב‑HTTP Sessions.
מה שונה
SAFE_MODE).http_sync.pyושימוש ב‑requests.Sessionגלובלי עםHTTPAdapterו‑Retries.עמודים שעודכנו
docs/environment-variables.rstdocs/configuration.rstdocs/performance-scaling.rstדוגמת .env (תמציתי)
מדוע
לספק תיעוד מעודכן, ברור ואחיד לשדרוגי Pooling/Timeouts ולשימוש ב‑Sessions (async/sync), כדי לשפר יציבות וביצועים ולהקל על כוונון לפי סביבה.
תוכנית בדיקות
.env.קריטריוני מעבר
סיכונים ו-Rollback
קישורים
Note
Expands docs to cover MongoDB/Redis pooling and timeouts, HTTP client configuration (async/sync), new env vars, and performance-scaling guidance.
docs/configuration.rst:MONGODB_*,REDIS_*,SAFE_MODE).AIOHTTP_*) and synchttp_syncwith example and env-based pooling/retries.docs/environment-variables.rst:MONGODB_MAX_POOL_SIZE,...,MONGODB_APPNAME).REDIS_MAX_CONNECTIONS,REDIS_CONNECT_TIMEOUT,REDIS_SOCKET_TIMEOUT,SAFE_MODE,AIOHTTP_LIMIT_PER_HOST,REQUESTS_POOL_*,REQUESTS_TIMEOUT,REQUESTS_RETRIES,REQUESTS_RETRY_BACKOFF.docs/performance-scaling.rst:Written by Cursor Bugbot for commit bfac883. This will update automatically on new commits. Configure here.