البرامج النصية / استيراد البيانات القديمة

البرامج النصية هو حل SKOOR الشامل لإنشاء البرامج النصية وتحريرها وتشغيلها مع الكثير من الخيارات لتخصيصها.

صفحة البرامج النصية

تنقسم الصفحة إلى ثلاثة أقسام رئيسية:

الإعدادات

يتضمن هذا القسم الإعدادات العامة للبرنامج النصي، مثل:

  • الاسم والوصف.

  • المهلة الافتراضية (بالثواني)

  • نسخ الرمز المميز لخطاف الويب أو إعادة تعيينه (متاح فقط للمدراء)

  • تكوينات الجدول الزمني: يتيح جداول متعددة مع تكوينات تشغيل مخصصة.

  • تكوينات التشغيل: يسمح بتخصيص المهلة ومتغيرات البيئة.

image-20250423-062736.png

الملفات

يقدم هذا القسم حلاً كاملاً لإدارة الملفات الخاصة بالبرنامج النصي، بما في ذلك محرر حديث للبيانات النصية.

سيتم عرض رابط تنزيل إذا كانت البيانات ثنائية (غير قابلة للتحرير في شكل نصي).

image-20250214-093009.png

تشغيل

هذا القسم مسؤول عن تشغيل ومراقبة عمليات تشغيل البرنامج النصي. يوفر منطقة إسقاط صغيرة لتحميل ملفات المصدر إذا لزم الأمر.

image-20250214-093849.png

إنشاء برنامج نصي

يمكن إنشاء البرامج النصية يدويًا، أو تحميلها عبر ملفات مضغوطة كما هو موضح أدناه:

image-20250423-061036.png
image-20250423-061102.png

أركان البرنامج النصي

تشغيل النص البرمجي النصي

يتضمن الملف الرئيسي منطق البرنامج النصي. هذا يحدد نوع عداء البرنامج النصي:

  • يتوقع Python Runner ملف main.py.

  • يتوقع عداء Talend Runner ملف <scriptName>_run.sh.

  • يتوقع Shell Runner ملف run.sh.

ضع البرنامج النصي الرئيسي في مستوى واحد أسفل الجذر (أو أعلى)، لأن الفحص المتسع أولاً يستخدم دائماً البرنامج النصي الأكثر ضحالة الذي يعثر عليه.

يتم عرض الرسالة التالية، عند محاولة تشغيل برنامج نصي بدون برنامج نصي رئيسي عداء.

image-20250423-061703.png

.env

وهو ملف نصي بسيط، يتضمن متغيرات البيئة. بهذه الطريقة يمكن تعديل المتغيرات المستخدمة في البرنامج النصي بناءً على حالة الاستخدام.
سينتج عن الملف التالي .env ملف متغيرات البيئة المعروضة، مما يسمح بتعديلها في تكوينات التشغيل المخصصة.

image-20250214-094006.pngimage-20250214-094332.png

متغيرات البيئة المتوفرة مسبقاً

يتم تمرير بعض التفاصيل المتعلقة بتشغيل البرنامج النصي إلى بيئة البرنامج النصي كمتغيرات بيئة، وهي

  • معرّف المستخدم كـ SKOOR_USER_ID

  • اسم المستخدم ك SKOOR_USER_USERNAME

  • الاسم الكامل للمستخدم كـ SKOOR_USER_FULLNAME

توضح لقطات الشاشة أدناه كيفية استرداد تلك المتغيرات في مثال بايثون إلى جانب المخرجات في البرنامج النصي:

import os

source_file = os.environ.get('SKOOR_SOURCE_FILE')
user_id = os.environ.get('SKOOR_USER_ID')
username = os.environ.get('SKOOR_USER_USERNAME')
userFullname = os.environ.get('SKOOR_USER_FULLNAME')

print("sourceFile: ", source_file)
print("User ID: ", user_id)
print("Username: ", username)
print("Fullname: ", userFullname)
image-20250214-094833.png

مثال باستخدام .env

يقرأ النص البرمجي التالي المتغير foo في .env ويطبعه إلى وحدة التحكم، وفيما يلي لقطات الشاشة الخاصة بذلك .env وتكوينات التشغيل ذات الصلة.

image-20250214-094929.pngimage-20250214-094943.png

image-20250214-094911.png

image-20250214-095049.pngimage-20250214-095128.png

ملفات المصدر

يمكن تصميم البرامج النصية لقبول ملفات خارجية (ملفات المصدر) ومعالجتها كجزء من منطق البرنامج النصي.

يمكن الإشارة إلى الملفات المصدر في البرنامج النصي باستخدام متغير البيئة SKOOR_SOURCE_FILE كما هو موضح في مقتطف الكود التالي:

# IN PYTHON
import os

source_file = os.environ.get('SKOOR_SOURCE_FILE')
print(source_file)
#IN SHELL

echo $SKOOR_SOURCE_FILE

تشغيل النصوص الفرعية

إذا كانت النصوص الفرعية مطلوبة، فيجب وضعها داخل مجلد bin. بما أنها ستكون قابلة للتشغيل.

تأكد من وضع النصوص الفرعية دائمًا في مجلد bin.

فيما يلي مثال على ذلك في Shell:

image-20250423-063721.png

ناتج هذا run.sh هو:

image-20250423-063801.png

image-20250423-063907.png

ناتج هذا run.sh هو:

image-20250423-063955.png

QuickRun

يوفر هذا الخيار زر QuickRun الذي يقوم بتشغيل البرنامج النصي بدون ملف مصدر وبالقيم الافتراضية لمتغيرات البيئة.
وهو يسمح بتشغيل البرنامج النصي بسرعة أثناء تطويره أو استكشاف أخطائه وإصلاحها، ويعرض الزر Latest Job Overview مخرجات وحدة التحكم.

image-20250214-095256.png

تشغيل

بدء التشغيل

في قسم التشغيل، حدد التكوين المطلوب (وقم بتحميل ملف مصدر إذا لزم الأمر) ثم انقر فوق "تشغيل برنامج نصي"

image-20250214-095342.png

إلغاء تشغيل

يمكن إلغاء عمليات التشغيل قيد التشغيل وكذلك عمليات التشغيل المنتظرة بالنقر على أيقونة إلغاء المهمة في قسم المحفوظات.

image-20250214-095439.png

إلغاء تشغيل الشعر

Poetry هي أداة قوية تُستخدم لإدارة التبعية وإدارة البيئة الافتراضية في بايثون. يتم كل ذلك من خلال تحديد ملف pyproject.toml.

ستؤدي إزالة/إعادة تسمية pyproject.toml إلى إلغاء استخدام Poetry تلقائيًا واستخدام skoor-python بدلاً منه.

نظرة عامة على الوظيفة

لعرض التفاصيل الكاملة لمهمة ما، انقر على إدخال في قائمة المحفوظات كما هو موضح أدناه:

image-20250214-095601.png

image-20250214-095612.png

سجل التشغيل

يعرض قسم السجل قائمة بجميع عمليات تشغيل البرنامج النصي. يمكن العثور على تفاصيل كل عملية تشغيل بالنقر عليها.

image-20250214-095715.png

يعرض قسم مخصص التاريخ التفصيلي لآخر تشغيل للبرنامج النصي (يتخطى عمليات التشغيل المنتظرة/الملغاة)

image-20250214-095752.png

استخدام رموز خطاف الويب لتشغيل المحول

يتيح هذا الخيار إمكانية تشغيل البرنامج النصي دون الحاجة إلى تسجيل الدخول، وهو خيار مفضل للمستخدمين التقنيين.
يحتوي كل برنامج نصي على رمز Webhook المميز الخاص به وسيتم نسخ عنوان URL إلى الحافظة بالنقر Copy Webhook Token.

مثال على استخدام رموز Webhook المميزة

انسخ الرمز المميز لخطاف الويب من صفحة البرنامج النصي بالنقر Copy Webhook Token ، في هذا المثال يبدو عنوان URL الخاص بخطاف الويب كما يلي:

http://localhost:8090/scripts/8925cfd4-2063-4b07-9d56-956f2b754b47/run?token=6ae51c9f-d292-4d55-b512-4537121b37f5

استخدم عنوان URL لإرسال طلب POST:

باستخدام برنامج واجهة برمجة التطبيقات مثل POSTMAN

image-20250213-145831.png

تشير استجابة 200 مع كيان الوظيفة الأولي إلى أنه تم تشغيل التشغيل كما هو موضح في لقطة الشاشة أدناه:

image-20250213-145952.png

استخدام cURL في المحطة الطرفية

curl -X POST http://localhost:8090/scripts/8925cfd4-2063-4b07-9d56-956f2b754b47/run?token=6ae51c9f-d292-4d55-b512-4537121b37f5

ستبدو الاستجابة كما يلي


image-20250213-151347.png

يمكن ملاحظة هذا التشغيل في لوحة معلومات SKOOR-Dashboard ويظهر التشغيل الذي تم إنشاؤه بواسطة Token-User في السجل.

image-20250214-095924.png

image-20250214-095945.png

الحذف

انقر على أيقونة سلة المهملات لحذف البرنامج النصي. سيظهر الرمز عند التمرير فوق اسم البرنامج النصي بمؤشر الماوس.

image-20250226-085215.png

تصدير البرنامج النصي بصيغة Zip

انقر على أيقونة الأرشيف لتصدير البرنامج النصي. ستظهر الأيقونة عند التمرير فوق اسم البرنامج النصي بمؤشر الماوس.

image-20250226-085236.png