0
を送信した後に遅延アクションを実行し、私は以下のように定義単純なWebサービスがあります。このサービスツイストWebサーバ:応答
from twisted.internet import endpoints
from twisted.internet import reactor
from twisted.web import resource
from twisted.web import server
class TestService(resource.Resource):
def render_GET(self, request):
return "ok"
ts = TestService()
endpoints.serverFromString(reactor, "tcp:{}".format(8080)).listen(server.Site(ts))
reactor.run()
は、常にすべてのGET要求にOKを送信します。
Fine。
しかし、要求が処理されてから1分後に延期アクションを実行する必要があります。
どうすればよいですか?あなたはまた、その後deferred_action
関数に渡される以上の引数を追加することができます
reactor.callLater(60.0, deferred_action)
:
from twisted.internet import endpoints
from twisted.internet import reactor
from twisted.web import resource
from twisted.web import server
def deferred_action():
time.sleep(60)
# do some action...
print("action completed")
class TestService(resource.Resource):
def render_GET(self, request):
defer(deferred_action) # how do I do this?
return "ok"
ts = TestService()
endpoints.serverFromString(reactor, "tcp:{}".format(8080)).listen(server.Site(ts))
reactor.run()
'reactor.callLater(60.0、deferred_action) ' –
これです!とても簡単!それは受け入れられた答えになることができます。 – alexpirine