استكشاف الأخطاء وإصلاحها
ابدأ بأصغر مسار أولاً:- صحة عملية السائق.
- إمكانية الوصول إلى برنامج التشغيل إلى الطابعة TCP.
- حالة قائمة الانتظار.
- تكوين الطابعة وحدة التحكم.
- HTTPS أو مشكلات الثقة في المتصفح.
السائق غير قابل للوصول
يفحص:- تأكد من تشغيل
plato-printer.exe. - تأكد من أن
config.jsonصالح JSON. - تأكد من عدم استخدام
server.portبالفعل. - تحقق من سجلات بدء التشغيل بحثًا عن
Port already in use.
- افتح جدار حماية Windows لـ
server.port. - استخدم عنوان شبكة السائق من شعار بدء التشغيل.
- تأكد من أن جهاز POS موجود على نفس الشبكة أو أنه يسمح بشبكة VLAN.
الطابعة غير متصل
يتصل:| الخطأ الأخير | معنى | يصلح |
|---|---|---|
Connection Refused | يمكن الوصول إلى المضيف ولكن المنفذ مغلق. | تحقق من منفذ الطابعة وإعدادات TCP الأولية. |
Connection Timeout | لا يمكن الوصول إلى IP/منفذ الطابعة. | تحقق من IP، والشبكة، وVLAN، وجدار الحماية، وطاقة الطابعة. |
Printer open timed out after 2000ms | لم يكتمل اتصال TCP. | تحقق من مسار شبكة الطابعة. |
Printer write timed out after 6000ms | تم فتح المقبس ولكن لم يتم مسح الكتابة. | أعد تشغيل الطابعة، وتحقق من المخزن المؤقت أو الشبكة أو البرامج الثابتة للطابعة. |
TCP connection closed | أغلقت الطابعة مأخذ التوصيل بشكل غير متوقع. | أعد التحقق من المنفذ الأولي للطابعة وحجم حمولة المهمة. |
وظائف عالقة
فحص قوائم الانتظار:waiting: وظائف جاهزة ولكنها غير نشطة.active: تتم الطباعة حاليًا.delayed: المهام المستقبلية المجدولة أو إعادة المحاولة المؤجلة.failed: المهام الفاشلة التي احتفظ بها BullMQ.totalPending: الانتظار والتأخير في جميع الطابعات.isProcessing: توجد وظيفة نشطة واحدة على الأقل.
تم قبول طلب الطباعة ولكن لم يتم طباعة أي شيء
إذا قامت/print بإرجاع { "ok": true, "queued": true }، فهذا يعني أن السائق قد قبل المهمة.
الفحوصات التالية:
GET /queue-status.POST /statusمعvalidate: true.- IP الطابعة والمنفذ في تكوين وحدة التحكم.
- يدعم طراز الطابعة خطوط ESC/POS النقطية عبر TCP.
- الطابعة بها ورق ولم يتم إيقافها مؤقتًا.
عنوان الطابعة مفقود
يتطلب برنامج التشغيل الحالي كلا من:فشل HTTPS
يفحص:- قم بتثبيت شهادة CA على جهاز POS.
- قم بإجراء حل
plato-printer.localلجهاز التشغيل. - فتح المنفذ
443. - تأكيد وجود
assets/certs. - تأكيد بدء العلبة في السجلات.
فشل الشبكة
يفحص:فشل Redis في البدء
يمكن أن يفشل بدء تشغيل Redis المضمن في حالة:- الإصدار الثنائي Redis الذي تم تكوينه مفقود أو تالف.
- منفذ Redis الذي تم تكوينه قيد الاستخدام بالفعل.
- يقوم Windows بحظر الملف الثنائي الذي تم تنزيله.
- إصدار Redis الذي تم اكتشافه لا يتطابق مع
redis.version.
- قم بتشغيل البرنامج النصي للحزمة لإعداد
redis-binaries. - تغيير
redis.port. - احذف مجلد
redis-binaries/<version>التالف وأعد البناء. - استخدم
redis.mode: "external"مع خادم Redis المعروف.
إعادة تعيين آمنة
لإعادة التعيين المحلي أثناء التطوير:dist وoutput وlogs وplato-printer.zip وdump.rdb.
في مرحلة الإنتاج، لا تقم بحذف dump.rdb إلا إذا كنت تريد عمدًا مسح قوائم الانتظار المستمرة وحالة تسجيل الطابعة المعروفة.