Score:0

เริ่มบริการหลังจากเริ่มบริการจัดการ http ทั้งหมดแล้ว

ธง cn

ฉันได้ทำให้งงงวยเกี่ยวกับเรื่องนี้มาระยะหนึ่งแล้วและฉันได้จัดการปัญหาของฉันให้เป็นปัญหาเดียว ฉันมีบริการที่ควรเรียกใช้เชลล์สคริปต์เพื่อเริ่มกระบวนการภูต (โดยใช้ nohup) กระบวนการเหล่านี้คือบอทที่ไม่ลงรอยกันที่เขียนโดยใช้ nodejs และ discordjs ขณะนี้ฉันมีบริการที่เริ่มทดสอบบอทที่ไม่ลงรอยกันเมื่อฉันเรียกใช้ sudo systemctl start startdiscordbots และนั่นก็ใช้ได้ดี ปัญหาคือเมื่อฉันรีสตาร์ทคอมพิวเตอร์ บริการแสดงข้อผิดพลาดด้านล่าง:

/daemons/discordbots/discounter/node_modules/discord.js/src/rest/RequestHandler.js:172
31 ส.ค. 13:35:15 น. ubuntu start.sh[2459]: โยน HTTPError ใหม่ (error.message, error.constructor.name, error.status, request);
31 ส.ค. 13:35:15 น. ubuntu start.sh[2459]: ^
31 ส.ค. 13:35:15 น. ubuntu start.sh[2459]: HTTPError [FetchError]: คำขอไปที่ https://discord.com/api/v9/gateway/bot ล้มเหลว เหตุผล: getaddrinfo EAI_AGAIN discord.com
31 สิงหาคม 13:35:15 น. ubuntu start.sh[2459]: ที่ RequestHandler.execute (/daemons/discordbots/discounter/node_modules/discord.js/src/rest/RequestHandler.js:172:15)
31 ส.ค. 13:35:15 น. ubuntu start.sh[2459]: ที่ processTicksAndRejections (node:internal/process/task_queues:96:5)
31 สิงหาคม 13:35:15 น. ubuntu start.sh[2459]: ที่ async RequestHandler.push (/daemons/discordbots/discounter/node_modules/discord.js/src/rest/RequestHandler.js:50:14)
31 ส.ค. 13:35:15 น. ubuntu start.sh[2459]: ที่ async WebSocketManager.connect (/daemons/discordbots/discounter/node_modules/discord.js/src/client/websocket/WebSocketManager.js:128:9)
31 ส.ค. 13:35:15 น. ubuntu start.sh[2459]: ที่ async Client.login (/daemons/discordbots/discounter/node_modules/discord.js/src/client/Client.js:245:7) {
31 ส.ค. 13:35:15 น. ubuntu start.sh[2459]: รหัส: 500,
31 ส.ค. 13:35:15 น. ubuntu start.sh[2459]: วิธีการ: 'รับ'
31 ส.ค. 13:35:15 น. ubuntu start.sh[2459]: เส้นทาง: '/gateway/bot',
31 ส.ค. 13:35:15 น. ubuntu start.sh[2459]: requestData: { json: undefined, files: [] }
31 ส.ค. 13:35:15 น. ubuntu start.sh[2459]: }

ดังนั้นฉันจึงรู้ว่าบริการเริ่มต้นได้ดีเมื่อโหลดบริการอื่น ๆ ทั้งหมดอย่างถูกต้อง แต่ฉันเดาว่ามีบริการที่ฉันต้องใส่ใน หลังจาก= ส่วนหนึ่งของไฟล์ startdiscordbots.service ที่ฉันพลาดไป ของฉัน startdiscordbots.service รหัสอยู่ด้านล่าง

[หน่วย]
คำอธิบาย=เริ่มบอทที่ไม่ลงรอยกันเป็นกระบวนการเบื้องหลัง

After=network.target systemd-user-sessions.service

[บริการ]
ประเภท = ง่าย
ExecStart=/startup/start.sh
รีสตาร์ท = เมื่อล้มเหลว
รีสตาร์ทวินาที=5
KillMode=กระบวนการ
ผู้ใช้ = อูบุนตู

[ติดตั้ง]
WantedBy=multi-user.target

มีใครรู้บ้างว่ามีบริการที่ต้องระบุใน หลังจาก= ที่ฉันพลาดไปหรือมีอะไรเกิดขึ้นอีก?

คอมพิวเตอร์ที่ฉันใช้คือ RaspberryPi ที่ติดตั้งเซิร์ฟเวอร์ Ubuntu ฉันใช้โหนด v16.8.0 และ npm v7.21.0 กับ discordjs v13.1.0 ฉันเข้าถึงเทอร์มินัลได้เท่านั้น ดังนั้นโปรดอย่าให้คำตอบที่บอกให้ฉันใช้เครื่องมืออื่น

ความช่วยเหลือใด ๆ จะน่าทึ่ง!

waltinator avatar
it flag
คุณกำลังดูผิด ไม่ใช่บริการ คุณต้องการรอจนกว่าจะสร้างการเชื่อมต่อเครือข่าย จากนั้นคุณก็สามารถเข้าถึงสิ่งต่าง ๆ ทั่วทั้งเครือข่ายได้
Bobcat33 avatar
cn flag
@waltinator ฉันจะทำอย่างนั้นได้อย่างไร ฉันดูเหมือนจะคิดวิธีแก้ปัญหาได้ (โดยเพิ่ม `After=multi-user.target`) แต่ฉันไม่แน่ใจว่าจะใช้งานได้นานแค่ไหน...
Score:1
ธง it

เขียนฟังก์ชั่นที่บล็อกจนกว่าเครือข่ายจะขึ้น ทำการทดสอบอื่น ๆ (มีไฟล์ ค่าเริ่มต้น เส้นทาง (man ip ip-เส้นทาง), คุณสามารถ โฮสต์ google.com (โฮสต์ผู้ชาย) ฯลฯ แล้วเริ่มบริการของคุณ ฉันได้เขียนสคริปต์ทุบตีเพื่อช่วยในเรื่องนี้: https://github.com/waltinator/net-o-matic มันเฝ้าดูการเชื่อมต่อ และเมื่อการเชื่อมต่อหลุด จะทำสิ่งที่ผู้ใช้ระบุเพื่อพยายามเชื่อมต่อใหม่ เล็กน้อย ทุบตี ความรู้จะช่วยให้คุณสามารถแก้ไขสิ่งนี้ได้ อ่าน ผู้ชายทุบตี.

โพสต์คำตอบ

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