gpt4 book ai didi

python - 协程作为 Jupyter notebook 中的后台作业

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

我有一个协程,我想在 Jupyter 笔记本中将其作为“后台作业”运行。我看过ways to accomplish this using threading ,但我想知道是否也可以连接到笔记本的事件循环中。

例如,假设我有以下类(class):

import asyncio
class Counter:
def __init__(self):
self.counter = 0

async def run(self):
while True:
self.counter += 1
await asyncio.sleep(1.0)

t = Counter()

并且我想执行 run 方法(无限循环),同时仍然能够随时检查 t.counter 变量。有什么想法吗?

最佳答案

以下内容基本上按照我的想法进行,但它确实使用了单独的线程。但是,我仍然可以使用异步原语。

def run_loop():
loop = asyncio.new_event_loop()
run_loop.loop = loop
asyncio.set_event_loop(loop)
task = loop.create_task(t.run())
loop.run_until_complete(task)

from IPython.lib import backgroundjobs as bg
jobs = bg.BackgroundJobManager()
jobs.new('run_loop()')
loop = run_loop.loop # to access the loop outside

关于python - 协程作为 Jupyter notebook 中的后台作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36895256/

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