python的异步任务调度程序和运行程序

asynctasks的Python项目详细描述


BuildStatusCoverage

基于异步的任务调度程序。允许指定最大并发性和粒度执行结果将打印为甘特图

示例用法

fromasynctasks.executorimportExecutorfromasynctasks.executionplanimportExecutionPlanimportasyncio#create an array of taskstasks_dict_array=[{"dependencies":[],"name":"task0"},{"dependencies":[0],"name":"task1"},{"dependencies":[1],"name":"task2"},{"dependencies":[0],"name":"task3"},{"dependencies":[],"name":"task4"},{"dependencies":[],"name":"task5"}]#define an async function that should be executed for each taskasyncdefprint_task(loop,task):print("Executing task {}".format(task))awaitasyncio.sleep(0.1)#create an execution plan for the tasksplan=ExecutionPlan().from_dict_array(tasks_dict_array)print("\nBEFORE EXECUTION\n{}".format(plan))#execute the plan with print_task function and max_concurrency as 2Executor(plan,2,0.01,print_task).trigger_execution()print("\nAFTER EXECUTION\n{}".format(plan.as_gantt()))

样本输出

BEFOREEXECUTIONtask0Readytask1task2task3task4Readytask5ReadyExecutingtask{'dependencies':[],'name':'task0','start_time':1497528994.1246588}Executingtask{'dependencies':[],'name':'task4','start_time':1497528994.1246588}Executingtask{'dependencies':[0],'name':'task1','start_time':1497528994.236074}Executingtask{'dependencies':[0],'name':'task3','start_time':1497528994.2370954}Executingtask{'dependencies':[1],'name':'task2','start_time':1497528994.340769}Executingtask{'dependencies':[],'name':'task5','start_time':1497528994.3417716}AFTEREXECUTION....................................................................................................task0...............................task1.............................task2................................task3.............................task4...............................task5...............................

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Spring启动测试中的java MockBean注释导致NonuniqueBeandDefinitionException   java Spring Hateoas调试模板不能为null   递归培根游戏Java程序?   java在Android中保存少量数据(对象)的最简单方法是什么?   异常处理Java中finally块的要点是什么?   是java。util。货币真的是工厂方法模式吗?   java如何输入字符以停止循环   java如何对流的某些部分执行缩减操作   java new Gson()。单例类的toJson(object)返回null   java Itext泰米尔字体显示不正确   java运行时。getRuntime()。gpg命令不起作用的exec()   java如何在preparedstatemenet中将字符连接到SQL字符串   java将同一实体的多个表示形式与lazyload合并时出错   JavaSpring、Hibernate和JPA:在entitymanager上调用persist似乎并没有提交到数据库   java osgi r6服务。组成部分注释属性列表