me gustaría implementar un comando de 'un apagado' para mi aplicación web (en comparación con mi primer instinto, que es simplemente pedir a la gente para matar el proceso)¿Cómo implemento un comando de apagado en un servidor WAI?
Mis primeros dos intentos consistieron en
liftIO exitSuccess
E.yield (responseLBS statusOK [G.contentType "text/plain"] "") E.EOF
Ambos de los cuales solo alegremente devuelto un resultado al cliente y continuó escuchando. ¿Hay algo que una aplicación pueda hacer para matar el servidor? ¿Es esto algo razonable que quieras hacer?
Confieso que no tengo una comprensión muy sólida de iteratee, solo lo suficiente como para saber que puedo consumir mi entrada y que Iteratee es una instancia de MonadIO.
Bizqueando en https://groups.google.com/forum/#!topic/yesodweb/VoenrabRUBQ, un truco que parece * * a trabajar para mí es el uso concurrente de Haskell: (1) la ejecución de la horquilla aplicación (2) espere en un MVar y (3) cuando esté listo para detenerse, simplemente ponga algo en ese MVar ... – kowey
Eso es lo que yo recomendaría también. –