M-am încurcat cu acesta de ceva vreme și am reușit să-mi rafinam problema la o singură problemă. Am un serviciu care ar trebui să ruleze un script shell pentru a porni procesele demon (folosind nohup), aceste procese sunt roboți Discord scrise folosind nodejs și discordjs. În prezent, am un serviciu care pornește botul Discord de testare când îl rulez folosind sudo systemctl start startdiscordbots
si asta merge bine. Problema este că atunci când repornesc computerul, serviciul afișează eroarea de mai jos:
/daemons/discordbots/discounter/node_modules/discord.js/src/rest/RequestHandler.js:172
Aug 31 13:35:15 ubuntu start.sh[2459]: aruncă o nouă HTTPError (error.message, error.constructor.name, error.status, request);
31 august 13:35:15 ubuntu start.sh[2459]: ^
31 august 13:35:15 ubuntu start.sh[2459]: HTTPError [FetchError]: cererea către https://discord.com/api/v9/gateway/bot a eșuat, motiv: getaddrinfo EAI_AGAIN discord.com
31 august 13:35:15 ubuntu start.sh[2459]: la RequestHandler.execute (/daemons/discordbots/discounter/node_modules/discord.js/src/rest/RequestHandler.js:172:15)
31 august 13:35:15 ubuntu start.sh[2459]: la processTicksAndRejections (nod:intern/process/task_queues:96:5)
31 august 13:35:15 ubuntu start.sh[2459]: la asincron RequestHandler.push (/daemons/discordbots/discounter/node_modules/discord.js/src/rest/RequestHandler.js:50:14)
31 august 13:35:15 ubuntu start.sh[2459]: la WebSocketManager.connect asincron (/daemons/discordbots/discounter/node_modules/discord.js/src/client/websocket/WebSocketManager.js:128:9)
31 august 13:35:15 ubuntu start.sh[2459]: la async Client.login (/daemons/discordbots/discounter/node_modules/discord.js/src/client/Client.js:245:7) {
31 august 13:35:15 ubuntu start.sh[2459]: cod: 500,
31 august 13:35:15 ubuntu start.sh[2459]: metoda: „obține”,
31 august 13:35:15 ubuntu start.sh[2459]: cale: „/gateway/bot”,
31 august 13:35:15 ubuntu start.sh[2459]: requestData: { json: undefined, fișiere: [] }
31 august 13:35:15 ubuntu start.sh[2459]: }
Deci știu că serviciul începe bine odată ce toate celelalte servicii au fost încărcate corect, dar bănuiesc că există un serviciu pe care trebuie să îl pun în După=
parte din fișierul startdiscordbots.service pe care l-am ratat, al meu startdiscordbots.service
codul este mai jos
[Unitate]
Description=Porniți roboții Discord ca procese de fundal
După=network.target systemd-user-sessions.service
[Serviciu]
Tip=simplu
ExecStart=/startup/start.sh
Restart=la eșec
RestartSec=5
KillMode=proces
Utilizator=ubuntu
[Instalare]
WantedBy=multi-user.target
Știe cineva dacă există un serviciu pe care trebuie să-l precizez în După=
că am ratat-o sau se întâmplă altceva?
Computerul pe care îl folosesc este un RaspberryPi cu Ubuntu Server instalat, folosesc nodul v16.8.0 și npm v7.21.0 cu discordjs v13.1.0. Am acces doar la terminal, așa că vă rog să nu dați răspunsuri spunându-mi să folosesc alte instrumente.
Orice ajutor ar fi uimitor!