使用协程执行并发任务的通用工作进程。

coworker的Python项目详细描述


同事

使用协程执行并发任务的通用工作进程。

快速入门教程

定义如何执行任务并创建工作进程:

fromcoworkerimportCoworkerclassSquareWorker(Coworker):asyncdefdo_task(self,task):returntask*taskworker=SquareWorker(max_concurrency=5)# Only 5 tasks will run concurrently# As do_task is fast, 35,000 tasks can be done in 1 second.

要永远在后台运行并添加任务:

importasyncioasyncdefbackground_worker_example():# Start worker / Run in backgroundasyncio.ensure_future(worker.start())# Mulitiple taskstasks=list(range(100))results=awaitasyncio.gather(*worker.add_tasks(tasks))print(results)# results = [0, 1, 4, 9, ...]# Single taskresult=awaitworker.add_tasks(2)print(result)# result = 4# Stop workerawaitworker.stop()# Run async usage exampleasyncio.get_event_loop().run_until_complete(background_worker_example())

运行任务列表并在完成时停止工作进程:

task_futures=asyncio.get_event_loop().run_until_complete(worker.start([1,2,3]))print([t.result()fortintask_futures])# [1, 4, 9]

热门话题
java如何从ImageIO中排除特定的TIFF读取器?   JavaJMockit和passbyreference。我们中一定有一个人错了(可能是我!)   java Android camera2放弃了牛轧糖的表面,但在棉花糖上工作   java按字符串中出现的顺序对字符数组进行排序   如何获取Groovy生成的java源代码   java无法使用AutoIT和Selenium Webdriver在所需位置/文件夹保存图像   java为什么我的冒泡排序代码会打印出这些奇怪的东西?   java JAXB:typesafeEnumMemberName=“generateName”是否可自定义?   Java编程输入:今天是星期天输出:星期天是今天   java不理解首个OOAD书的吉他示例   java如何从JformattedTextfield检索货币格式值   java可以从相同的源代码生成功能不同的可执行文件吗?