Temporal Python Pro
بناء سير عمل متينة باستخدام Temporal Python SDK
بناء أنظمة موزعة موثوقة أمر معقد. توفر هذه المهارة إرشادات خبيرة حول Temporal Python SDK لتنسيق سير العمل المتين، والتعامل مع الأخطاء، والنشر في بيئة الإنتاج.
تنزيل ZIP المهارة
رفع في Claude
اذهب إلى Settings → Capabilities → Skills → Upload skill
فعّل وابدأ الاستخدام
اختبرها
استخدام "Temporal Python Pro". إنشاء سير عمل لتنفيذ الطلبات
النتيجة المتوقعة:
يعرّف سير عمل باستخدام @workflow.defn، وينفذ أنشطة validate_order و charge_payment و send_confirmation مع سياسات إعادة المحاولة المناسبة وتكوين المهلة الزمنية
استخدام "Temporal Python Pro". التعامل مع فشل الدفع مع التعويض
النتيجة المتوقعة:
يوضح نمط try/except للقبض على ActivityError، وتنفيذ نشاط التعويض refund_payment، وإصدار أحداث إلغاء سير العمل
التدقيق الأمني
آمنStatic analysis scanned 0 files with 0 lines. Risk score is 0/100. No suspicious patterns detected. This is a prompt-only skill providing guidance on Temporal Python SDK usage without executable code. Safe for publication.
درجة الجودة
ماذا يمكنك بناءه
تنسيق الخدمات المصغرة
تنسيق المعاملات الموزعة عبر خدمات متعددة باستخدام أنماط saga مع منطق التعويض.
عمليات الأعمال طويلة الأمد
تنفيذ سير عمل يمتد من ساعات إلى سنوات مع استمرار الحالة التلقائي والاسترداد.
خطوط معالجة البيانات
بناء سير عمل تحويل البيانات متعدد المراحل مع معالجة الدُفعات المتوازية والتعامل مع الأخطاء.
جرّب هذه الموجهات
ساعدني في إنشاء سير عمل Temporal أساسي في Python يعالج طلبات المستخدمين. أحتاج إلى التحقق من الطلب، وتحصيل الدفع، وإرسال بريد إلكتروني للتأكيد. أرني تعريف سير العمل وتنفيذات الأنشطة.
أحتاج إلى تكوين سياسات إعادة المحاولة لنشاط يستدعي واجهة برمجية خارجية مع حدود معدل. تسمح الواجهة البرمجية بـ 100 طلب في الدقيقة وقد ترجع أخطاء 429. ما إعدادات سياسة إعادة المحاولة التي يجب استخدامها؟
كيف أنفذ معالج إشارات يسمح للمستخدمين بإلغاء سير عمل قيد التشغيل؟ أرني كيفية التحقق من صحة الإشارة، والتعامل مع الإلغاء بسلاسة، وإصدار أنشطة التعويض.
أحتاج إلى اختبار سير عمل يمتد 30 يومًا باستخدام تخطي الوقت. أنشئ اختبارًا يتحقق من إكمال سير العمل لجميع الأنشطة بالترتيب الصحيح والتعامل مع سيناريوهات المهلة الزمنية.
أفضل الممارسات
- اجعل سير العمل مركزًا على منطق التنسيق؛ انقل جميع المكالمات الخارجية إلى الأنشطة
- استخدم workflow.now() و workflow.random() بدلاً من وحدات datetime و random لضمان الحتمية
- نفذ أنشطة متطابقة لضمان إعادة المحاولة الآمنة عند الأعطال العابرة
- كوّن مهلات زمنية مناسبة: schedule_to_close للمدة الإجمالية، start_to_close للمحاولة الواحدة
- استخدم بيئة اختبار تخطي الوقت للحصول على ملاحظات سريعة على سير العمل طويل الأمد
تجنب
- استخدام datetime.now() أو random.random() مباشرة في كود سير العمل يكسر الحتمية
- إجراء مكالمات واجهة برمجية مباشرة من سير العمل بدلاً من استخدام الأنشطة
- عدم معالجة ActivityError في سير العمل، مما يفقد القدرة على تنفيذ التعويض
- حجب حلقة الأحداث غير المتزامنة باستخدام كود متزامن في الأنشطة غير المتزامنة
- تجاوز حدود حجم الحمولة 2MB عن طريق تمرير بيانات كبيرة بين الأنشطة