소스 검색

queue_declare argument x-expires must be a signed-int, or long describing the expiry time in milliseconds.

Ask Solem 14 년 전
부모
커밋
b470ecca1c
1개의 변경된 파일3개의 추가작업 그리고 1개의 파일을 삭제
  1. 3 1
      celery/backends/amqp.py

+ 3 - 1
celery/backends/amqp.py

@@ -70,7 +70,9 @@ class AMQPBackend(BaseDictBackend):
         if self.expires is not None:
             self.expires = int(self.expires)
             # WARNING: Requires RabbitMQ 2.1.0 or higher.
-            self.queue_arguments["x-expires"] = self.expires
+            # x-expires must be a signed-int, or long describing
+            # the expiry time in milliseconds.
+            self.queue_arguments["x-expires"] = int(self.expires * 1000.0)
 
     def _create_publisher(self, task_id, connection):
         delivery_mode = self.persistent and 2 or 1