Spaces:
Sleeping
Sleeping
File size: 1,392 Bytes
08e17bd | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 | # =====================================================
# Apckeyl_RealESRGAN
# Version 1.0
# priority_queue.py
# =====================================================
from collections import deque
class PriorityQueue:
"""
Priority Queue.
Управляет очередью обработки.
Владелец проекта всегда имеет
максимальный приоритет.
Version 1.0
"""
def __init__(self):
self.queue = deque()
# -------------------------------------------------
def clear(self):
self.queue.clear()
# -------------------------------------------------
def size(self):
return len(
self.queue
)
# -------------------------------------------------
def add(
self,
task,
owner=False,
):
"""
owner=True
означает владельца проекта.
Его задачи всегда идут первыми.
"""
if owner:
self.queue.appendleft(
task
)
else:
self.queue.append(
task
)
# -------------------------------------------------
def get_next(self):
if not self.queue:
return None
return self.queue.popleft() |