الحدائق

شجيرة أشجار الفاكهة بوت تعمل

شجيرة أشجار الفاكهة بوت تعمل



We are searching data for your request:

Forums and discussions:
Manuals and reference books:
Data from registers:
Wait the end of the search in all databases.
Upon completion, a link will appear to access the found materials.

شجيرة أشجار الفاكهة بوت تعمل في يوم واحد

لدي روبوت يعمل على windows server 2003 x64 لبستان شجرة فواكه Cjb كبير في الغرب الأوسط للولايات المتحدة. أواجه مشكلات مع توقف الروبوت وتعطله عندما أحاول تشغيل المهمة المجدولة. لمحاولة تشغيل الروبوت ، أضفت مهمة مجدولة جديدة وقمت بتشغيل الروبوت بدون أخطاء وتمكنت من تسجيل الدخول بشكل جيد. أعتقد أنه قد يكون له علاقة بعدم القدرة على العثور على المجلد c: users username appdata roaming على الخادم ، لكنني غير متأكد.

أنا أستخدم بوويرشيل v3 لتشغيل الروبوت وهو يعمل حاليًا كمستخدم مختلف عن مستخدم الحساب الذي قمت بتسجيل الدخول به.

ما هو الموقع الصحيح لمجلد التجوال؟ أين يجب أن أكون على الخادم لأتمكن من تشغيل الروبوت بنجاح؟

لست بحاجة إلى مجلد التجوال على الإطلاق. يعمل بوت شجرة Cjb-Fruit جيدًا بدونه. أيضًا ، قم بما يلي في البرنامج النصي PowerShell:

$ env: roaming = [Environment] :: GetFolderPath ('Roaming')

وسيستخدم الإعدادات في Windows تلقائيًا للعثور على مجلد التجوال.

يمكن أن يعمل الروبوت بشكل جيد إذا بدأته بنفس المستخدم الذي سجلت الدخول من خلاله. عند التشغيل كمستخدم مختلف ، لا ينتقل إلى C: users Username AppData Roaming

يبدو أنه يعمل بشكل جيد ، لكنه لا ينتهي دائمًا. أفترض أن هناك مشكلة من جانب الروبوت لأنها لم تتعطل أو تنتهي مهلتها.

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

يعتمد هذا الروبوت على روبوت Cjb-Fruit الذي تم استخدامه لأكثر من 6 سنوات في شركتنا. لديها مجموعة متنوعة من أشجار الفاكهة في نظام معقد للغاية. تم تصميم الروبوت للتعامل مع مجموعة كبيرة ومتنوعة من أنواع الأشجار وظروف النمو. على هذا النحو ، لن ينتهي دائمًا من الجري ، إذا انتهى من الجري. لدينا مجموعة متنوعة من مهام سير العمل المعدة للتعامل مع كل من هذه السيناريوهات. عادةً ، عندما يستغرق الروبوت وقتًا طويلاً حتى يكتمل ، يرسل الروبوت بريدًا إلكترونيًا إلى فريقنا الداخلي يفيد بأنه لن يقوم بإرجاع أي نتائج أخرى حتى التشغيل التالي.

إذا كانت مشكلتك انتهت المهلة ، فيجب أن يعمل الروبوت بشكل جيد. يمكنك اختبار ذلك ببساطة عن طريق البحث عن "Cjb-fruit" ومحاولة فتح نتيجة في الروبوت (عبر أمر bot). إذا انتهت المهلة الزمنية أو أخفقت في فتح نتيجة ، فسأبحث أولاً عن:

هل سجلات الروبوت (C: Users username AppData Local BotBuilder botcache) متزامنة مع قاعدة البيانات الخاصة بك؟ هذا ما أتحقق منه دائمًا أولاً.

هل يستطيع الروبوت الوصول إلى مفتاح api في إعدادات api والحصول بنجاح على قائمة بالأشجار وأسماء تلك الأشجار في قاعدة البيانات الخاصة بك؟

هل يستطيع الروبوت فتح الموقع؟ هل توجد أخطاء عند فتح الموقع؟ هل هو خطأ داخلي أم خطأ في الوصول إلى الموقع؟

هل يمكنك اختبار فتح وإرسال رسائل البريد الإلكتروني للدعم ، ومعرفة ما إذا كان لديك خطأ في تلك الاتصالات؟

إذا لم تكن هناك أخطاء وكان الروبوت يعمل بشكل جيد ، فإن أول شيء سأفحصه بعد ذلك هو ذاكرة التخزين المؤقت للبوت (C: Users username AppData Local BotBuilder botcache) وحاول حذف أي نتائج مخبأة. أعتقد أن هذا قد يكون سبب عدم فتح بعض نتائج الروبوت. في بعض الأحيان يمكن تخزين نتائج الروبوت مؤقتًا أيضًا ، لذا قد يؤدي مسحها إلى حل المشكلة.

أعتقد أن أفضل ما يمكنك فعله في هذه المواقف هو إنشاء روبوت جديد واختبار نتائجك مرة أخرى من بيئة جديدة. أود المضي قدمًا وحذف هذا الروبوت أيضًا لتجنب وجود هذه البيئة في مشروع BotBuilder الخاص بك ، كما ذكرت أن بعض نتائج الروبوت الخاصة بك لا تزال تفشل.

هذا ما يبدو عليه الأمر عند النقر فوق اختبار على نتيجة روبوت في BotBuilder

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

هل تتلقى رسالة خطأ في نتائج الروبوت؟

هل توجد أي أخطاء في جزء الإخراج للروبوت الذي يتم اختباره؟ إذا كانت الإجابة بنعم ، فسيساعدك هذا في تحديد الخطأ. في لقطة الشاشة أعلاه ، يمكنك أن ترى أن هناك خطأين. الخطأ الأول هو "حدث خطأ. يرجى المحاولة مرة أخرى." ، والخطأ الثاني هو خطأ 500 (خطأ داخلي في الخادم). يعني هذا عادةً أن هناك مشكلة في واجهة برمجة التطبيقات ، وقد يكون من الصعب جدًا العثور على حل لذلك.

تأكد أيضًا من أن التطبيق الخاص بك لديه حق الوصول الكامل إلى نقطة النهاية الخاصة بك.هناك بعض الأشياء التي يمكنك التحقق منها للتأكد من أن لديك جميع المتطلبات والتبعيات في مكانها ، ولكن يمكن أن تحدث معظم هذه الأخطاء لأنك لم تقم بإعداد واجهة برمجة التطبيقات الخاصة بك بشكل صحيح ، لذلك يعد هذا مكانًا جيدًا للبدء.

هل هناك أي مشاكل في طلبك؟

في بعض الأحيان ، يمكنك الحصول على مشكلة في الكود الخاص بك أو تطبيقك حتى لو كانت البيئة تعمل بشكل صحيح. هذا أكثر صعوبة في تعقب ويمكن أن يكون أكثر تحديدا من مشكلة API.

يمكنني محاولة إجراء الاختبارات في بيئة اختبار نظيفة مرة أخرى. وبهذه الطريقة يمكننا عزل إذا كانت هناك مشكلة في الكود أو مع الاختبارات.

إذا كنت قد بدأت للتو مع Bot Builder وإنشاء روبوتات ، أقترح إنشاء فرع منفصل في Bitbucket أو Github يمكنك اختباره بسرعة ، وإذا مرت الاختبارات ، فقم بدمجه مرة أخرى في الماجستير. سيساعدك ذلك على أن تكون قادرًا على تحديد ما إذا كانت هناك مشكلة في الواقع مع الكود أو البيئة.

كيف يمكنني تغيير اسم نقطة النهاية الخاصة بي؟

نقاط النهاية ليست هي نفس القنوات. على سبيل المثال ، نقطة النهاية الافتراضية الخاصة بك هي botframework.ai. ومع ذلك ، قد ترغب في الحصول على قنوات مختلفة تتواصل مع روبوتات مختلفة. لتسمية القناة ، يمكنك فقط وضع الاسم بعد نقطة النهاية الخاصة بك ، مثل هذا: botframework.ai/bookit. سيخبر هذا الروبوت بالتحدث إلى نقطة نهاية botframework.ai/bookit.

إذا كنت تريد أن تتحدث الروبوتات مع بعضها البعض ، فسيتعين عليك التأكد من أنها تتواصل مع نقطة النهاية الصحيحة.

هل أنت متأكد من أن نقطة النهاية تعمل؟

الخطوة الأولى في تصحيح روبوت العمل هي التأكد من أن BOT و API يعملان.

يمكنك القيام بذلك عن طريق اختبار ردود الروبوت مع ساعي البريد ، والتحقق من أن الروبوت لا يتلقى botframework.


شاهد الفيديو: طريقة تجعل اي شجرة صغيرة سريعة في النمو.. زيادة حجم الأشجار بسرعة (أغسطس 2022).