Điểm:0

Bắt đầu dịch vụ sau khi tất cả các dịch vụ xử lý http đã bắt đầu

lá cờ cn

Tôi đã phân vân về vấn đề này một thời gian và tôi đã cố gắng tinh chỉnh vấn đề của mình thành một vấn đề. Tôi có một dịch vụ được cho là chạy tập lệnh shell để bắt đầu các quy trình daemon (sử dụng nohup), các quy trình này là các bot bất hòa được viết bằng nodejs và discordjs. Hiện tại tôi có một dịch vụ khởi động bot bất hòa thử nghiệm khi tôi chạy nó bằng cách sử dụng sudo systemctl start startdiscordbots và điều đó hoạt động tốt. Vấn đề là khi tôi khởi động lại máy tính, dịch vụ sẽ đưa ra lỗi bên dưới:

/daemons/discordbots/discount/node_modules/discord.js/src/rest/RequestHandler.js:172
Ngày 31 tháng 8 13:35:15 ubuntu start.sh[2459]: ném HTTPError mới(error.message, error.constructor.name, error.status, request);
Ngày 31 tháng 8 13:35:15 ubuntu start.sh[2459]: ^
Ngày 31 tháng 8 13:35:15 ubuntu start.sh[2459]: HTTPError [FetchError]: yêu cầu https://discord.com/api/v9/gateway/bot không thành công, lý do: getaddrinfo EAI_AGAIN discord.com
Ngày 31 tháng 8 13:35:15 ubuntu start.sh[2459]: tại RequestHandler.execute (/daemons/discordbots/discount/node_modules/discord.js/src/rest/RequestHandler.js:172:15)
Ngày 31 tháng 8 13:35:15 ubuntu start.sh[2459]: at processTicksAndRejections (node:internal/process/task_queues:96:5)
Ngày 31 tháng 8 13:35:15 ubuntu start.sh[2459]: tại async RequestHandler.push (/daemons/discordbots/discount/node_modules/discord.js/src/rest/RequestHandler.js:50:14)
Ngày 31 tháng 8 13:35:15 ubuntu start.sh[2459]: tại async WebSocketManager.connect (/daemons/discordbots/discount/node_modules/discord.js/src/client/websocket/WebSocketManager.js:128:9)
Ngày 31 tháng 8 13:35:15 ubuntu start.sh[2459]: tại async Client.login (/daemons/discordbots/discount/node_modules/discord.js/src/client/Client.js:245:7) {
Ngày 31 tháng 8 13:35:15 ubuntu start.sh[2459]: code: 500,
Ngày 31 tháng 8 13:35:15 ubuntu start.sh[2459]: method: 'get',
Ngày 31 tháng 8 13:35:15 ubuntu start.sh[2459]: path: '/gateway/bot',
Ngày 31 tháng 8 13:35:15 ubuntu start.sh[2459]: requestData: { json: undefined, files: [] }
Ngày 31 tháng 8 13:35:15 ubuntu start.sh[2459]: }

Vì vậy, tôi biết rằng dịch vụ bắt đầu tốt khi tất cả các dịch vụ khác đã được tải chính xác nhưng tôi đoán rằng có một dịch vụ mà tôi cần đưa vào Sau = một phần của tệp startdiscordbots.service mà tôi đã bỏ lỡ, của tôi startdiscordbots.service mã ở bên dưới

[Đơn vị]
Mô tả=Bắt đầu các bot bất hòa làm quy trình nền

Sau=mạng.đích systemd-user-sessions.service

[Dịch vụ]
Loại = đơn giản
ExecStart=/startup/start.sh
Khởi động lại = khi thất bại
Khởi động lạiSec=5
KillMode=tiến trình
Người dùng = Ubuntu

[Cài đặt]
WantedBy=multi-user.target

Có ai biết nếu có một dịch vụ mà tôi cần chỉ định trong Sau = mà tôi đã bỏ lỡ hoặc có cái gì khác đang xảy ra?

Máy tính tôi đang sử dụng là RaspberryPi có cài đặt Ubuntu Server, tôi đang sử dụng nút v16.8.0 và npm v7.21.0 với discordjs v13.1.0. Tôi chỉ có quyền truy cập vào thiết bị đầu cuối, vì vậy vui lòng không đưa ra câu trả lời yêu cầu tôi sử dụng các công cụ khác.

Bất kỳ trợ giúp sẽ là tuyệt vời!

waltinator avatar
lá cờ it
Bạn đang nhìn nhầm thứ, nó không phải là một dịch vụ. Bạn muốn đợi cho đến khi kết nối mạng được thiết lập. Chỉ khi đó, bạn mới có thể tiếp cận mọi thứ trên mạng.
Bobcat33 avatar
lá cờ cn
@waltinator Tôi sẽ làm điều đó như thế nào? Có vẻ như tôi đã nghĩ ra một giải pháp (bằng cách thêm `Sau=multi-user.target`) nhưng tôi không chắc nó sẽ tồn tại được bao lâu...
Điểm:1
lá cờ it

Viết hàm chặn cho đến khi kết nối mạng, thực hiện các kiểm tra khác (có mặc định tuyến đường (man ip ip-route), bạn có thể lưu trữ google.com (chủ nhà), v.v., sau đó bắt đầu dịch vụ của bạn. Tôi đã viết một tập lệnh bash để trợ giúp việc này: https://github.com/waltinator/net-o-matic Nó theo dõi kết nối và khi kết nối bị ngắt, nó sẽ thực hiện một việc do người dùng chỉ định để thử kết nối lại. Một chút đánh đập kiến thức sẽ cho phép bạn sửa đổi điều này. Đọc người đàn ông bash.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.