2 unstable releases
0.2.0 | Jul 23, 2024 |
---|---|
0.1.0 | Mar 6, 2022 |
#1183 in Asynchronous
62 downloads per month
24KB
437 lines
pi_weight_task
任务池
可以向任务池中放入不同权重的任务,任务池提供弹出功能,任务池大概率会弹出权重高的任务。
任务池支持的任务可以大致分为三类:
串行任务:插入串行任务需要先创建队列,放入到同一个队列的任务,会按顺序弹出。
创建队列会返回队列key,可以通过该key获取队列引用。
可以获得队列状态-是否被锁定,可以从队列头或尾放入任务,也可弹出任务。
可设置队列权重。调整队列权重立刻在下一次弹出队列时生效。
队列可以设置为弹出任务后自动锁定,直到外部将队列解开锁定,锁定的队列不会在弹出任务。
并行任务:在任务池中,如果不是队列任务,那一定是一个并行任务。
并行任务与串行任务的区别是,并行任务不需要排队,并行任务的权重越高,弹出的概率越大。
定时任务,该任务先被存在定时器中,超时后,才能有机会被弹出。
定时任务分为可撤销和不可撤销两类,可撤销的定时任务放入时会返回唯一key,通过该key可撤销该任务。
Dependencies
~720KB
~12K SLoC