我嘗試使用芹菜。我已經安裝了通過命令兔MQ芹菜教程:芹菜錯誤「期待0xce時收到0x00」
sudo apt-get install rabbitmq-server
和所有運作良好,而我寫我的代碼在一個文件中,並運行它來測試功能。但是,當我嘗試添加在Django的觀點我的代碼,然後做的併發請求我的意見,我得到了這樣的異常:
File "/home/kinmanz/PycharmProjects/GitFace/myvenv/lib/python3.5/site-packages/amqp/connection.py", line 464, in drain_events
return self.blocking_read(timeout)
File "/home/kinmanz/PycharmProjects/GitFace/myvenv/lib/python3.5/site-packages/amqp/connection.py", line 468, in blocking_read
frame = self.transport.read_frame()
File "/home/kinmanz/PycharmProjects/GitFace/myvenv/lib/python3.5/site-packages/amqp/transport.py", line 251, in read_frame
'Received {0:#04x} while expecting 0xce'.format(ch))
amqp.exceptions.UnexpectedFrame: Received 0x00 while expecting 0xce
我認爲,問題可能出在請求的併發,我應該以某種方式使隊列併發安全。
我使用Python 3.5,芹菜4.0.0,3.5.7的RabbitMQ
其實問題amqplib見下面的回答。
您的django視圖是否包含任何芹菜相關的任務調用? –
沒有任何,我發現在這裏https://github.com/celery/celery/issues/2066問題實際上與python3有關的問題,並且創建者剛寫下他沒有任何資源來解決這個問題,可能有沒有其他方法可以解決這個問題?可能你可以建議一些關於使用Python3 +芹菜+併發請求cellery,以便我可以得到工作變體。 –
我已經設法解決這個問題,無論如何,它似乎已經克服了這個問題,但這不是很好的方法。我試圖使用redis,因爲後端app = Celery('tasks',backend ='redis:// localhost',broker ='pyamqp://'),如果有人會幫忙看看http:// michal .karzynski.pl/blog/2014/05/18/setup-an-asynchronous-task-queue-for-django-using-celery-redis /將來我會添加答案 –