using HttpServer
http = HttpHandler() do request::Request, response::Response
show(request)
Response("Hello there")
end
http.events["error"] = (client, error) -> println(error)
http.events["listen"] = (port) -> println("Listening on $port")
server = Server(http)
t = @async run(server, 3000)
Bu, basit bir küçük web sunucusunu senkronize olmayan bir şekilde başlatır. Sorun şu ki nasıl durduğum hakkında hiçbir fikrim yok. Julia dokümantasyonunu inceledim ve bu görevi kuyruktan kaldıracak bir işlev bulmaya çalışıyorum (kill
, interrupt
, vs.) ama hiçbir şey işe yaramıyor gibi görünüyor.Julia'da bir görevi/korotayı nasıl öldürebilirim?
Bu görevi nasıl öldürebilirim?
da problem için basit bir çözüm bir iptal döngü (https://github.com/JuliaWeb/HttpServer.jl/blob/master/src/HttpServer.jl#L204) [çalışma] reimplement olacaktır . Julia libuvayı kullanır, yani 'kabul et' gerçekten [uv_accept] 'dir (http://docs.libuv.org/en/v1.x/stream.html#c.uv_accept). Esp bakın [Uv_connection_cb] (http://docs.libuv.org/en/v1.x/stream.html#c.uv_connection_cb). – Phillip
Teşekkürler, ama aslında bundan biraz daha genel arıyorum. HTTP sunucusu, eşzamansız çalışan bir görevin yalnızca bir örneğidir. – Nick