如何使用 celery Worker 从 SQS 轮询消息,该消息采用 JSON 格式,并且 Worker 无法解码该格式
注意:这些消息不会使用celerybeat发送到SQS,该队列是从SNS订阅的
我的芹菜工人命令是: 芹菜工人 -A status_handling -l info -Q es_status_test
Msg in Queue:
{
"Type" : "Notification",
"MessageId" : "f7e40fd9-8f92-59c5-afd9-5a1847aaae57",
"TopicArn" : "***",
"Message" : "{\"SESResponseStatusCode\": 200, \"Status\": \"Delivered\", \"Message\": \"Email sent successfully.\", \"MessageId\": \"a59e85a2-8b7a-4b49-9354-0a7a4170b0c0\", \"Uuid\": null}",
"Timestamp" : "2019-08-05T06:00:24.943Z",
"SignatureVersion" : "1",
"Signature" : "pass",
"SigningCertURL" : "pass",
"UnsubscribeURL" : "pass"
}
Run Code Online (Sandbox Code Playgroud)
错误来了:
[2019-08-04 23:00:25,116: CRITICAL/MainProcess] Unrecoverable error: JSONDecodeError('Expecting value: line 1 column 1 (char 0)')
Traceback (most recent call …Run Code Online (Sandbox Code Playgroud)