minor fixes, rework web service, add features
This commit is contained in:
@@ -11,22 +11,14 @@ class RedisClient:
|
||||
def __init__(self):
|
||||
self.connection = redis.Redis(host="localhost", port=6379, db=0)
|
||||
|
||||
async def _set_task(self, task: dict) -> int:
|
||||
async def _set_task(self, task: dict, queue_name) -> int:
|
||||
async with self.connection as connection:
|
||||
res = await connection.set(f'{self.TASKS_NAME}:{task["link"]}', json.dumps(task, indent=4).encode('utf-8'))
|
||||
res = await connection.sadd(f'{queue_name}:1', json.dumps(task, indent=4).encode('utf-8'))
|
||||
return res
|
||||
|
||||
async def _set_task_done(self, task: dict) -> int:
|
||||
async def _del_task(self, task: dict, queue_name) -> int:
|
||||
async with self.connection as connection:
|
||||
res = await connection.sadd(
|
||||
f'{self.TASKS_DONE_NAME}:1',
|
||||
json.dumps(task, indent=4).encode('utf-8')
|
||||
)
|
||||
return res
|
||||
|
||||
async def _del_task(self, task: dict) -> int:
|
||||
async with self.connection as connection:
|
||||
res = await connection.delete(f'{self.TASKS_NAME}:{task["link"]}')
|
||||
res = await connection.srem(f'{queue_name}:1', json.dumps(task, indent=4).encode('utf-8'))
|
||||
return res
|
||||
|
||||
async def set_task_to_queue(self, task: dict) -> int:
|
||||
@@ -36,7 +28,17 @@ class RedisClient:
|
||||
|
||||
async def get_queue(self) -> set:
|
||||
async with self.connection as connection:
|
||||
res = await connection.smembers(self.SET_NAME)
|
||||
res = await connection.smembers(self.SET_NAME + f":1")
|
||||
return res
|
||||
|
||||
async def get_tasks(self) -> set:
|
||||
async with self.connection as connection:
|
||||
res = await connection.smembers(self.TASKS_NAME + f":1")
|
||||
return res
|
||||
|
||||
async def get_task_done_queue(self) -> set:
|
||||
async with self.connection as connection:
|
||||
res = await connection.smembers(self.TASKS_DONE_NAME + f":1")
|
||||
return res
|
||||
|
||||
async def del_task_from_queue(self, task: dict) -> int:
|
||||
@@ -45,27 +47,14 @@ class RedisClient:
|
||||
return res
|
||||
|
||||
async def del_task_from_queue_and_add_to_tasks(self, task: dict) -> int:
|
||||
await self._del_task(task, self.SET_NAME)
|
||||
return await self._set_task(task, self.TASKS_NAME)
|
||||
|
||||
await self.del_task_from_queue(task)
|
||||
return await self._set_task(task)
|
||||
|
||||
async def del_task_from_tasks_and_add_to_task_done(self, task: dict) -> int:
|
||||
await self._del_task(task)
|
||||
return await self._set_task_done(task)
|
||||
|
||||
async def get_task_done_queue(self) -> set:
|
||||
async with self.connection as connection:
|
||||
res = await connection.smembers(self.TASKS_DONE_NAME + f":1")
|
||||
return res
|
||||
async def del_task_from_tasks_and_add_to_task_done(self, task: dict, working_task: dict) -> int:
|
||||
await self._del_task(working_task, self.TASKS_NAME)
|
||||
return await self._set_task(task, self.TASKS_DONE_NAME)
|
||||
|
||||
async def del_task_from_task_done_queue(self, task) -> int:
|
||||
async with self.connection as connection:
|
||||
res = await connection.srem(self.TASKS_DONE_NAME + f":1", json.dumps(task, indent=4).encode('utf-8'))
|
||||
return res
|
||||
|
||||
async def get_tasks_queue(self) -> set:
|
||||
async with self.connection as connection:
|
||||
res = await connection.json().get(self.TASKS_NAME)
|
||||
return res
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user