gpt4 book ai didi

python - 如何在 Behave 环境设置期间运行 Tornado IO Loop

转载 作者:太空狗 更新时间:2023-10-30 01:23:04 26 4
gpt4 key购买 nike

在我工作的项目中,我需要涵盖 Tornado服务 Behave所以我想在运行每个场景之前启动我的 Tornado 服务实例。

天真地尝试在所有似乎锁定执行之前将循环作为一部分运行:

from tornado import ioloop
from tornadoadapter.applications import APPLICATION


def before_all(context):
print "Service running on port 8000"
APPLICATION.listen(8000)
ioloop.IOLoop.instance().start()

所以这可能不是我需要的。

最佳答案

您的 IOLoop 正在主线程中运行,因此它处于阻塞状态。您可以在单独的线程或进程中执行此操作。

from multiprocessing import Process

from tornado import ioloop
from tornadoadapter.applications import APPLICATION


def run_server():
print "Service running on port 8000"
APPLICATION.listen(8000)
ioloop.IOLoop.instance().start()


def before_all(context):
context.server_thread = Process(target=run_server)
context.server_thread.deamon = True
context.server_thread.start()

关于python - 如何在 Behave 环境设置期间运行 Tornado IO Loop,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17175859/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com