<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
Ah, I was under the impression that listenTCP() can only be called
before reactor.run().<br>
I don't now where it came from.<br>
<br>
Thanks,<br>
<br>
<div class="moz-cite-prefix">On 09/08/15 20:41, Alexey Panyovin
wrote:<br>
</div>
<blockquote cite="mid:55EF2BC2.8000701@runtel.ru" type="cite">
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<pre style="background-color:#ffffff;color:#000000;font-family:'Menlo';font-size:12,0pt;"><span style="color:#000080;font-weight:bold;">from </span>twisted.web <span style="color:#000080;font-weight:bold;">import </span>server<span style="color:#cc7832;">, </span>resource
<span style="color:#000080;font-weight:bold;">from </span>twisted.internet <span style="color:#000080;font-weight:bold;">import </span>reactor<span style="color:#cc7832;">, </span>defer
<span style="color:#000080;font-weight:bold;">class </span>Simple(resource.Resource):
isLeaf = <span style="color:#000080;">True
</span><span style="color:#000080;"> </span><span style="color:#000080;font-weight:bold;">def </span>render_GET(<span style="color:#94558d;">self</span><span style="color:#cc7832;">, </span><span style="color:#808080;">request</span>):
<span style="color:#000080;font-weight:bold;">return </span><span style="color:#008000;font-weight:bold;">"<html>Hello, world!</html>"
</span><span style="color:#008000;font-weight:bold;">
</span><span style="color:#000080;font-weight:bold;">def </span>call_me():
d = defer.Deferred()
<span style="color:#000080;font-weight:bold;">print </span><span style="color:#008000;font-weight:bold;">"Get something"
</span><span style="color:#008000;font-weight:bold;"> </span>d.callback(<span style="color:#008000;font-weight:bold;">"success"</span>)
<span style="color:#000080;font-weight:bold;">return </span>d
<span style="color:#000080;font-weight:bold;">def </span>run_web(_):
<span style="color:#000080;font-weight:bold;">print </span><span style="color:#008000;font-weight:bold;">"run_web"
</span><span style="color:#008000;font-weight:bold;"> </span>site = server.Site(Simple())
reactor.listenTCP(<span style="color:#0000ff;">8080</span><span style="color:#cc7832;">, </span>site)
d = call_me()
d.addCallback(run_web)
reactor.run()
</pre>
<pre class="moz-signature" cols="72">--
Alex
08.09.15 17:51, Nagy, Attila пишет:
</pre>
<blockquote cite="mid:55EEF5D8.7020709@fsn.hu" type="cite">Hi, <br>
<br>
I wonder, if I have this example program: <br>
<a moz-do-not-send="true" class="moz-txt-link-freetext"
href="https://twistedmatrix.com/documents/current/web/howto/using-twistedweb.html#site-objects">https://twistedmatrix.com/documents/current/web/howto/using-twistedweb.html#site-objects</a>
<br>
<br>
how do I initialize an external resource (like a dictionary,
which is fetched from a database) with asynchronous twisted
tools, but before the HTTP server starts listening on its port?
<br>
The goal here is that the HTTP server shouldn't start until it
can fetch the desired data. Of course I can do this in a
synchronous way, but it feels so unnatural and bad practice to
fetch the same stuff synchronously on initialization and
asynchronously when the program/reactor is running (often with
different libraries). <br>
<br>
Thanks, <br>
<br>
_______________________________________________ <br>
Twisted-Python mailing list <br>
<a moz-do-not-send="true" class="moz-txt-link-abbreviated"
href="mailto:Twisted-Python@twistedmatrix.com">Twisted-Python@twistedmatrix.com</a>
<br>
<a moz-do-not-send="true" class="moz-txt-link-freetext"
href="http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python">http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python</a>
<br>
</blockquote>
<br>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
Twisted-Python mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Twisted-Python@twistedmatrix.com">Twisted-Python@twistedmatrix.com</a>
<a class="moz-txt-link-freetext" href="http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python">http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python</a>
</pre>
</blockquote>
<br>
</body>
</html>