Score:1

ข้อผิดพลาด R10 (หมดเวลาบูต) -> กระบวนการเว็บล้มเหลวในการผูกกับ $PORT ภายใน 60 วินาทีหลังจากเปิดตัว: Rasa chatbot Heroku

ธง tc

ฉันพยายามปรับใช้บอทใน heroku มาหลายวันแล้วโดยไม่ประสบความสำเร็จ บอทของฉันมีเซิร์ฟเวอร์การดำเนินการที่โฮสต์บนแอปอื่น บอทหลักประกอบด้วยไฟล์ Dockerfile ที่มีเนื้อหาด้านล่าง:

#จากรูปฐานรสา
จากรสา/รสา:2.8.2-เต็ม
# คัดลอกแหล่งที่มาทั้งหมดและแบบจำลองที่สร้างโดยรสา
สำเนา /แอป

# แจ้งว่าพอร์ตใดจะทำงานบน
เปิดเผย 5005

# สคริปต์เพื่อเรียกใช้ rasa core
คัดลอก startup.sh /app/scripts/startup.sh
# สคริปต์เพื่อเรียกใช้ rasa shell
คัดลอก shell.sh /app/scripts/shell.sh

รากผู้ใช้
RUN chmod a+x /app/scripts/startup.sh
RUN chmod a+x /app/scripts/shell.sh

เวิร์คดีอาร์ /app

จุดเริ่มต้น []
ENV shell_mode เท็จ

# เรียกใช้สคริปต์ (rasa shell หรือ rasa run)
CMD sh -c 'ถ้า [ "$shell_mode" = เท็จ ]; จากนั้น /app/scripts/startup.sh; อื่น /app/scripts/shell.sh; ไฟ

หลังจากกดคอนเทนเนอร์นี้บน heroku ฉันได้รับบันทึกต่อไปนี้:

2021-08-08T05:05:19.003044+00:00 heroku[web.1]: กระบวนการเริ่มต้นด้วยคำสั่ง `/bin/bash -o pipefail -c sh\ -c\ \'if\ \[\ \"\false \"\ \=\ false\ \]\;\ แล้วก็\ /app/scripts/startup.sh\;\ else\ \ /app/scripts/shell.sh\;\ fi\'`
2021-08-08T05:05:22.624829+00:00 แอป[web.1]: PORT 56161
2021-08-08T05:05:28.172219+00:00 app[web.1]: 2021-08-08 05:05:28 INFO root - การเริ่มต้นเซิร์ฟเวอร์ Rasa บน http://localhost:56161
2021-08-08T05:05:28.198725+00:00 app[web.1]: 2021-08-08 05:05:28 INFO rasa.model - กำลังโหลดโมเดล models/20210807-142446.tar.gz...
2021-08-08T05:06:19.182952+00:00 heroku[web.1]: Error R10 (Boot timeout) -> กระบวนการของเว็บล้มเหลวในการผูกกับ $PORT ภายใน 60 วินาทีหลังจากเปิดตัว
2021-08-08T05:06:19.237369+00:00 heroku[web.1]: หยุดกระบวนการด้วย SIGKILL
2021-08-08T05:06:19.401953+00:00 heroku[web.1]: กระบวนการออกจากสถานะ 137
2021-08-08T05:06:19.707060+00:00 heroku[web.1]: สถานะเปลี่ยนจากเริ่มต้นเป็นล้มเหลว

ของฉัน สตาร์ทอัพ.sh ประกอบด้วย:

สะท้อน PORT $PORT
rasa run -m models --endpoints heroku-endpoints.yml --cors "*" --enable-api -p $PORT

ผมทำอะไรผิดหรือเปล่า? กรุณาช่วย

Score:1
ธง ng

ฉันพบปัญหาเดียวกัน แต่เมื่อปรับใช้ python slackbot ฉันใช้ gunicorn และดูเหมือนว่าปัญหาคือ gunicorn ไม่ได้ผูกมัดตัวเองกับพอร์ตที่ heroku จัดหาให้ทันเวลา สิ่งนี้ได้รับการแก้ไขโดยการเพิ่ม --ผูก :$PORT ตัวเลือกไปยัง Procfile ตามที่กล่าวไว้ ที่นี่

บันทึกที่ทำให้มั่นใจว่าการมัดของ gunicorn สำเร็จคือสิ่งนี้

2021-09-06T17:43:34.126351+00:00 app[web.1]: [2021-09-06 17:43:34 +0000] [4] [INFO] การเริ่มต้น gunicorn 20.1.0
2021-09-06T17:43:34.127129+00:00 app[web.1]: [2021-09-06 17:43:34 +0000] [4] [INFO] ฟังได้ที่: http://0.0.0.0 :47022 (4)

ฉันรู้ว่ามันไม่เกี่ยวข้องโดยตรง แต่หวังว่าจะช่วยคุณได้!

อีกสิ่งหนึ่งที่คุณสามารถลองได้คือส่งคำขอขาออกจากสคริปต์ของคุณ ซึ่งช่วยแก้ปัญหาของฉันได้ชั่วคราวและบังคับให้แอปพลิเคชันใช้พอร์ตเพื่อส่งทราฟฟิกขาออกบางส่วน คุณอาจพบว่าการเริ่มต้นแอปพลิเคชันอาจใช้เวลานานเกินไปและไม่สามารถผูกตัวเองเข้ากับพอร์ตได้ทันเวลา

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา