2017-06-09 80 views
1

我正在使用芹菜來處理異步任務,並且我在亞馬遜上使用SQS作爲我的消息服務器。我的任務都突然停止加工,當我去視察芹菜隊列:無法檢查SQS後端的芹菜

from celery.task.control import inspect 
i = inspect() 
i.scheduled() 

我收到的錯誤:

SQSError: SQSError: 400 Bad Request 
<?xml version="1.0"?><ErrorResponse xmlns="http://queue.amazonaws.com/doc/2012-11-05/"><Error><Type>Sender</Type><Code>InvalidParameterValue</Code><Message>Can only include alphanumeric characters, hyphens, or underscores. 1 to 80 in length</Message><Detail/></Error><RequestId>adbc0bc9-d1e2-5ab7-bd59-5a7a20cb876c</RequestId></ErrorResponse> 

是什麼造成的?顯然,這意味着我傳遞了一個無效的參數,但由於Celery是生成SQS請求的參數,因此我不確定那是什麼。我該如何解決?

+0

你試過用'rdb'來調試嗎? –

回答

0

根據this github問題:

Basically you can't inspect the state of any woker in the cluster.

由於事實(from the docs):

SQS doesn’t yet support worker remote control commands.

所以現在這似乎是不可能的 - 你最好的選擇(和我如何解決我的問題導致我在這裏)可能直接使用boto3訪問隊列。