浏览代码

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