Python:对任务进行优先级排序,在不带锁的情况下运行异步任务



现在我正在使用Gevent,我想问两个问题:

  • 是否有一种方法来执行特定的任务,将永远不会异步执行(而不是在每个这些任务中使用Lock)
  • 是否有办法优先考虑在Gevent中生成的任务?比如一组将以低优先级生成的任务,它们将在所有其他任务完成后执行。例如,当两个任务以不同的优先级处理套接字请求时,监听不同套接字的两个任务

如果在Gevent中不可能,是否有其他库可以做到?

编辑
也许西芹能帮我?

如果你想管理计算资源,Python异步库在这里帮不上忙,因为,坦白说,它们都没有优先级调度器。所有绿线都是平等的。

任务队列通常有一个优先级的概念,所以芹菜或Beanstalk是一种方法。

如果你的问题不需要任务(重)执行保证,持久化,多机工作分配,那么我会启动几个工作进程,使用操作系统分配它们CPU, IO,磁盘优先级,并通过UNIX套接字DGRAM发送工作/结果。一种特别的任务队列的简单版本。如果您这样做,请将您的工作作为开源项目分享,我相信这种解决方案是有需求的。

相关内容

最新更新