Điểm:0

Cách bắt đầu quá trình nền khi máy chủ khởi động và giữ cho nó hoạt động

lá cờ cn

Lưu ý: Tôi không chắc liệu mình có nên hỏi điều này ở đây, tràn ngăn xếp hay ???

Tôi đang di chuyển ứng dụng Ruby on Rails từ Heroku sang AWS. Kiến trúc máy chủ khá đơn giản:

  • cơ sở dữ liệu
  • Máy chủ web
  • Máy chủ công nhân

Cơ sở dữ liệu và Máy chủ web đã được di chuyển thành công sang AWS. Máy chủ Công nhân đang ở trên boong.

FWIW: Máy chủ web aws đang chạy Ubuntu 20.x w/ Pasbah / nginx làm máy chủ http.

Tôi hiện đang làm việc để di chuyển Công nhân, được triển khai với mã chính xác giống như Máy chủ Web. Sự khác biệt duy nhất là Công nhân không thể truy cập công khai và sử dụng Ruby Gem bị trì hoãn để xử lý các yêu cầu nền.

Máy chủ công nhân

  • Máy chủ công nhân được tạo từ một ami dựa trên máy chủ web.
  • Đã xóa cấu hình máy chủ nginx là một phần mềm khỏi máy chủ web.

câu hỏi

  1. Làm cách nào để thiết lập máy chủ Công nhân tự động khởi động và bắt đầu chạy các công việc nền khi máy chủ khởi động?

  2. Làm cách nào để giữ cho worker process hoạt động nếu nó xảy ra lỗi và tắt máy?

Trong Heroku, dòng lệnh bắt đầu máy chủ worker:

bundle exec rake jobs:work

Sau khi khởi động máy chủ Worker, tôi có thể chạy lệnh trên và quy trình worker chạy rất tốt. Chỉ cần tìm ra cách để worker process chạy không tương tác.

FYI: Tôi đến từ nền tảng Windows/.NET. Môi trường Linux/Ruby/Rails vẫn còn khá mới đối với tôi.

user535733 avatar
lá cờ cn
Tra cứu sơ lược về các dịch vụ systemd.
lá cờ in
Câu hỏi này [có câu trả lời trên StackOverflow](https://stackoverflow.com/a/39720001/14952832)
lá cờ cn
@matigo - Tôi đã xem qua câu hỏi mà bạn đã tham khảo; cũng như khoảng 50 người khác trên SO. Câu hỏi/câu trả lời mà bạn đã liên kết có thể hoạt động nhưng có vẻ như đó không phải là giải pháp lâu dài nếu quá trình này không thành công. Tôi thực sự đã dành khoảng một ngày để nghiên cứu vấn đề này và chưa tìm thấy câu trả lời chính tắc nào. Tôi đang xem các dịch vụ systemd và thoạt nhìn đó có vẻ là một con đường tốt.

Đă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.