好的,我正在尝试定义一个数据类来为 sidekiq 工作人员在 redis 中排队工作,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 并添加我在这里添加的“类”属性。
有更好的方法来做到这一点吗?