跳转到主要内容

Python异步工作进程

项目描述

aioworker

asyncio上运行的Python工作进程

Build Status python version License codecov

要求

python 3.8+

安装

pip install aioworker

用法

import asyncio

from aioworker import Service, Worker

async def task_1(loop):
    while True:
        print('Hello world')
        await asyncio.sleep(2)


if __name__ == '__main__':
    #  Run the server using 1 worker processes.
    Worker(tasks=[task_1]).run(workers=1)

或运行任务和web服务器

import asyncio

from aioworker import Service, Worker


async def sleeping(loop):
    while True:
        print('Sleeping for 2 seconds...')
        await asyncio.sleep(2)


async def on_client_connect(reader, writer):
    """
    Read up tp 300 bytes of TCP. This could be parsed usign the HTTP protocol for example
    """
    data = await reader.read(300)
    print(f'TCP Server data received: {data} \n')
    writer.write(data)
    await writer.drain()
    writer.close()


if __name__ == '__main__':
    # Run the server using 1 worker processes.
    Worker(
        tasks=[sleeping],
        web_server_config={
            'client_connected_cb': on_client_connect,
        },
    )).run(workers=1)

如何停止工作进程

ctrl+c

默认值

变量 默认
TCP服务器主机 0.0.0.0
TPC服务器端口 8888

示例

  1. 你好,世界
  2. TCP服务器
  3. Kafka消费者

开发

  1. 克隆此存储库
  2. 运行 poetry install
  3. 使用 ./scripts/test 进行测试
  4. 使用 ./scripts/lint 自动进行代码风格检查

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解更多关于 安装包 的信息。

源代码分发

aioworker-0.2.0.tar.gz (4.5 kB 查看哈希值)

上传于

构建分发

aioworker-0.2.0-py3-none-any.whl (4.4 kB 查看哈希值)

上传于 Python 3