📌  相关文章
📜  如何永远运行两个异步函数Python(1)

📅  最后修改于: 2023-12-03 15:09:12.490000             🧑  作者: Mango

如何永远运行两个异步函数Python

有时候,您可能需要永久地运行两个或多个异步函数,以便它们在后台持续工作。在本文中,我们将介绍如何实现此目标。

方案概述

我们将使用异步IO和异步进程池来实现此目的。我们将创建两个Python协程并将它们添加到事件循环中。然后,我们将使用异步进程池来启动一个无限循环,以便这两个协程可以永久地运行。

代码实现

首先,让我们创建两个Python协程。这些协程将在后台持续工作。

import asyncio

async def coroutine_one():
    while True:
        # Do some work here
        await asyncio.sleep(1)

async def coroutine_two():
    while True:
        # Do some work here
        await asyncio.sleep(1)

接下来,我们将创建一个事件循环,并将这两个协程添加到它中。

loop = asyncio.get_event_loop()
loop.create_task(coroutine_one())
loop.create_task(coroutine_two())

现在,让我们使用异步进程池启动一个无限循环。我们将在这个循环中等待一秒钟,以便这两个协程可以在后台无限期地工作。

async def infinite_loop():
    while True:
        await asyncio.sleep(1)

async def main():
    loop.create_task(infinite_loop())
    await asyncio.gather()

loop.run_until_complete(main())

现在,我们已经实现了运行两个异步函数的方案。

结论

在本文中,我们介绍了如何使用异步IO和异步进程池来永久地运行两个异步函数。通过此方案,您可以确保这两个函数将在后台持续工作。