Tôi muốn thực hiện một lệnh 'shutdown duyên dáng' cho webapp của tôi (như trái ngược với bản năng đầu tiên của tôi, đó là chỉ cần yêu cầu mọi người giết chết quá trình)Làm cách nào để triển khai lệnh tắt trong máy chủ WAI?
hai nỗ lực đầu tiên của tôi bao gồm
liftIO exitSuccess
E.yield (responseLBS statusOK [G.contentType "text/plain"] "") E.EOF
Cả hai trong số đó chỉ vui vẻ trở lại một kết quả cho khách hàng và tiếp tục lắng nghe. Có bất cứ điều gì một ứng dụng có thể làm gì để giết máy chủ không? Đây có phải là điều hợp lý để muốn làm không?
Tôi thú nhận rằng tôi không hiểu rõ về iteratee, chỉ đủ để biết rằng tôi có thể tiêu thụ dữ liệu nhập của tôi và Iteratee là một cá thể MonadIO.
Nheo mắt nhìn https://groups.google.com/forum/#!topic/yesodweb/VoenrabRUBQ, một trick mà * dường như * làm việc cho tôi là sử dụng đồng thời Haskell: (1) ngã ba chạy ứng dụng (2) chờ đợi trên một MVar và (3) khi tôi đã sẵn sàng để dừng lại, chỉ cần đặt một cái gì đó vào đó MVar ... – kowey
Đó là những gì tôi muốn giới thiệu là tốt. –