Application
모듈을 사용하는 응용 프로그램이 있고 GenServer
인스턴스가 실행 중입니다. 이 GenServer
모듈에는 terminate
콜백이 있습니다.iex-S를 종료 할 때 종료 콜백을 실행할 수 없습니다.
서버 인스턴스 내부에서 몇 가지 오류가 발생하면 콜백이 제대로 작동하지만 Ctrl-C a
을 사용하여 iex -S mix
세션을 중단하거나 콘솔 창을 닫으면 (일부 파일에 기록해야 함) 발동되지 않습니다.
내가 init()
이 퍼팅 시도했다 :
Process.flag(:trap_exit, true)
을 또한 메인 모듈에 stop/1
전화 :
def stop(state) do
IO.puts "something" #never shown
GenServer.stop(pid) #doesn't seem to work
end
다음을 참조하십시오 : [GenServer의 정상 종료] (http://stackoverflow.com/questions/39756769/graceful-shutdown-of-genserver) – Sheharyar