Хорошо. Я пытаюсь определить класс данных для постановки в очередь задания в redis для специалиста sidekiq, спецификация полезной нагрузки sidekiq требует некоторых атрибутов в этом формате:
{
"class": "SomeWorker",
"queue": "default"
"jid": "b4a577edbccf1d805744efa9", // 12-byte random number as 24 char hex string
"args": [......],
"created_at": 1234567890,
"enqueued_at": 1234567890
}
Итак, я определяю класс данных в своем коде Python:
@dataclass
class PusherNotificationJob:
args: Any = None
queue: str = "default"
jid: str = secrets.token_hex(12)
retry: bool = True
created_at: datetime.datetime = time.time()
enqueued_at: datetime.datetime = time.time()
def asdict(self):
return {** self.__dict__, "class": "SomeWorker"}
Моя проблема в том, что я не могу определить «класс» как атрибут PusherNotificationJob, потому что это зарезервированное слово. Поэтому мне нужно определить метод asdict для сериализации как dict и добавить атрибут «class», который я добавил здесь.
Есть лучший способ сделать это?