Spaces:
Sleeping
Sleeping
File size: 1,921 Bytes
55919d3 d77aeaa 55919d3 d77aeaa 55919d3 d77aeaa 55919d3 d77aeaa 55919d3 d77aeaa 55919d3 d77aeaa 55919d3 d77aeaa 55919d3 d77aeaa 55919d3 d77aeaa 55919d3 | 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 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 | # =====================================================
# Apckeyl Framework
# Version 1.1
# telegram_queue.py
# =====================================================
"""
Telegram Queue.
Соединяет Telegram Framework
с системой очереди проекта.
Version 1.1
"""
from priority_queue import PriorityQueue
from batch_processor import BatchProcessor
class TelegramQueue:
"""
Telegram Queue.
Принимает задания Telegram,
помещает их в PriorityQueue
и может передавать их
BatchProcessor.
Сам AI не выполняет.
"""
def __init__(self):
self.queue = PriorityQueue()
self.batch_processor = BatchProcessor()
# -------------------------------------------------
def add_task(
self,
task,
owner=False,
):
self.queue.add(
task=task,
owner=owner,
)
print()
print("Task added to PriorityQueue.")
print(
f"Queue size : {self.queue.size()}"
)
# -------------------------------------------------
def process_next(
self,
mode,
quality,
denoise,
):
task = self.queue.get_next()
if task is None:
print()
print("Queue is empty.")
return None
print()
print("Processing task...")
return self.batch_processor.process_with_limit(
images=[task],
mode=mode,
quality=quality,
denoise=denoise,
)
# -------------------------------------------------
def size(self):
return self.queue.size()
# -------------------------------------------------
def clear(self):
self.queue.clear()
print()
print("Telegram queue cleared.") |