2017-06-09 2 views
1

J'utilise Celery pour traiter des tâches asynchrones et j'utilise SQS sur Amazon comme serveur de messagerie. Mes tâches ont soudainement cessé le traitement, et quand je suis allé inspecter la file d'attente avec Céleri:Impossible d'inspecter Celery avec SQS Backend

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

J'ai reçu l'erreur:

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> 

Qu'est-ce qui cause? Clairement, cela signifie que je lui passe un paramètre qui n'est pas valide, mais puisque Celery est celui qui génère la requête SQS, je ne suis pas sûr de ce que c'est. Comment puis-je réparer ça?

+0

Avez-vous essayé 'rdb' pour déboguer? –

Répondre

0

Selon this github numéro:

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

En raison du fait que (from the docs):

SQS doesn’t yet support worker remote control commands.

Pour l'instant, cela semble ne pas être possible - votre meilleur pari (et comment je résolu mon problème qui m'amène ici) est probablement en train d'accéder directement à la file d'attente en utilisant boto3.