Skip to main content

مقدمة

lerix هو SDK الخاص بـ Lerix من جانب الخادم للغة Python. بعد استدعاء واحد لـ lerix.init()، يُبلَّغ عن كل استثناء غير معالَج في خدمتك إلى لوحة التحكم مع تتبّع المكدس واسم المضيف والإصدار وسياق الطلب، ويحصل كودك على عميل مُهيكل لواجهة REST الخاصة بالإشعارات. تتضمن الحزمة خطافات جاهزة لأطر FastAPI وFlask وDjango.
أنشئ مشروعاً بإطار Python في لوحة التحكم وانسخ مفتاح API ومعرّف المشروع من إعدادات المشروع.

المتطلبات

لا توجد للحزمة أي اعتماديات وقت التشغيل. لا تستورد خطافات الأطر FastAPI أو Flask أو Django إلا عند استخدامها.

1. ثبّت الحزمة

2. هيّئ الحزمة

استدعِ lerix.init() مرة واحدة في أبكر نقطة ممكنة من برنامجك:
main.py
بدون وسائط، تقرأ init() القيم LERIX_API_KEY وLERIX_PROJECT_ID وLERIX_ENVIRONMENT من متغيرات البيئة:
هذا كل الإعداد. تسجّل init() الخدمة في الخلفية وتثبّت sys.excepthook وthreading.excepthook، فيُبلَّغ عن الاستثناءات غير الملتقطة من الآن وتُرسَل قبل خروج المفسّر. راجع تتبع الأخطاء لمعرفة ما يُلتقط وكيفية الإبلاغ عن الأخطاء بنفسك.

أضف خطاف إطارك

تلتقط أطر الويب الاستثناءات بنفسها لتُعيد استجابة 500، فلا تصل أبداً إلى sys.excepthook. أضف الخطاف المناسب للإبلاغ عنها:
main.py

3. تحقّق من التكامل

أضف مساراً يُلقي خطأً واستدعِه مرة واحدة:
يتلقى العميل استجابة 500 المعتادة من الإطار، ويظهر الخطأ في لوحة التحكم خلال ثوانٍ. احذف المسار بعد ذلك.

الخيارات

كل خيار هو وسيط مسمّى لـ lerix.init() (ولـ LerixClient).

كيف تظهر خدمتك في لوحة التحكم

يسجّل SDK خدمتك كتطبيق من نوع server. يأتي معرّف التطبيق افتراضياً من name في جدول [project] داخل pyproject.toml والإصدار من version، فتُجمَّع التقارير لكل خدمة ولكل إصدار. عدّلهما عبر الخيار app عند نشر عدة نسخ من الكود نفسه أو عندما تريد استخدام git SHA كرقم بناء:
يُسجَّل مستخدم مجهول عند أول تشغيل ويُحفظ في .lerix/state.json داخل مجلد العمل حتى تعيد عمليات التشغيل استخدامه. أضف هذا المجلد إلى .gitignore أو اربطه في الحاويات. مرّر state_path=False لتخطي الحفظ، أو user_id للتحكم بالمعرّف بنفسك.

الخطوات التالية

تتبع الأخطاء

ما الذي تبلّغ عنه الخطافات، وكيف تغيّر السياسة، والإبلاغ اليدوي.

الإشعارات

أرسل وجدوِل وحدّث وألغِ الإشعارات من خادمك.