11import asyncio
2- from datetime import UTC , datetime
2+ from datetime import datetime , timezone
33from logging import getLogger
4- from typing import Any
4+ from typing import Any , Optional
55from urllib .parse import urljoin
66
77import aiohttp
88
9- from taskiq import TaskiqMessage , TaskiqMiddleware , TaskiqResult
9+ from taskiq .abc .middleware import TaskiqMiddleware
10+ from taskiq .message import TaskiqMessage
11+ from taskiq .result import TaskiqResult
1012
1113__all__ = ("TaskiqAdminMiddleware" ,)
1214
@@ -36,7 +38,7 @@ def __init__(
3638 url : str ,
3739 api_token : str ,
3840 timeout : int = 5 ,
39- taskiq_broker_name : str | None = None ,
41+ taskiq_broker_name : Optional [ str ] = None ,
4042 ) -> None :
4143 super ().__init__ ()
4244 self .url = url
@@ -48,7 +50,7 @@ def __init__(
4850
4951 @staticmethod
5052 def _now_iso () -> str :
51- return datetime .now (UTC ).replace (tzinfo = None ).isoformat ()
53+ return datetime .now (timezone . utc ).replace (tzinfo = None ).isoformat ()
5254
5355 def _get_client (self ) -> aiohttp .ClientSession :
5456 """Create and cache session."""
@@ -118,6 +120,7 @@ async def post_send(self, message: TaskiqMessage) -> None:
118120 {
119121 "args" : message .args ,
120122 "kwargs" : message .kwargs ,
123+ "labels" : message .labels ,
121124 "queuedAt" : self ._now_iso (),
122125 "taskName" : message .task_name ,
123126 "worker" : self .__ta_broker_name ,
@@ -139,6 +142,7 @@ async def pre_execute(self, message: TaskiqMessage) -> TaskiqMessage:
139142 {
140143 "args" : message .args ,
141144 "kwargs" : message .kwargs ,
145+ "labels" : message .labels ,
142146 "startedAt" : self ._now_iso (),
143147 "taskName" : message .task_name ,
144148 "worker" : self .__ta_broker_name ,
0 commit comments