私はRabbitMQのを使用してジャンゴセロリを使用してスケジュールされたタスクを設定しようとしています。私は、次のコマンド私は、次のトレースバックに私はWindowsErrorを取得ジャンゴ・セロリで「セロリの-Aにmyprojワーカー」を実行しています:[エラー87]
Traceback (most recent call last):
File "c:\users\murugk7\envs\celery_test\lib\site-packages\celery\worker\worker.py", line 203, in sta
rt
self.blueprint.start(self)
File "c:\users\murugk7\envs\celery_test\lib\site-packages\celery\bootsteps.py", line 119, in start
step.start(parent)
File "c:\users\murugk7\envs\celery_test\lib\site-packages\celery\bootsteps.py", line 370, in start
return self.obj.start()
File "c:\users\murugk7\envs\celery_test\lib\site-packages\celery\concurrency\base.py", line 131, in
start
self.on_start()
File "c:\users\murugk7\envs\celery_test\lib\site-packages\celery\concurrency\prefork.py", line 112,
in on_start
**self.options)
File "c:\users\murugk7\envs\celery_test\lib\site-packages\billiard\pool.py", line 1008, in __init__
self._create_worker_process(i)
File "c:\users\murugk7\envs\celery_test\lib\site-packages\billiard\pool.py", line 1117, in _create_w
orker_process
w.start()
File "c:\users\murugk7\envs\celery_test\lib\site-packages\billiard\process.py", line 122, in start
self._popen = self._Popen(self)
File "c:\users\murugk7\envs\celery_test\lib\site-packages\billiard\context.py", line 383, in _Popen
return Popen(process_obj)
File "c:\users\murugk7\envs\celery_test\lib\site-packages\billiard\popen_spawn_win32.py", line 64, i
n __init__
_winapi.CloseHandle(ht)
TypeError: must be integer<k>, not _subprocess_handle
(celery_test) C:\kavin\Assigner\assigner>Traceback (most recent call last):
File "<string>", line 1, in <module>
File "c:\users\murugk7\envs\celery_test\lib\site-packages\billiard\spawn.py", line 159, in spawn_mai
n
new_handle = steal_handle(parent_pid, pipe_handle)
File "c:\users\murugk7\envs\celery_test\lib\site-packages\billiard\reduction.py", line 121, in steal
_handle
_winapi.PROCESS_DUP_HANDLE, False, source_pid)
WindowsError: [Error 87] The parameter is incorrect
を取得しています
「セロリの-Aにmyprojワーカー」を使用して労働者を設定しようとしていたとき、私のプロジェクトディレクトリにセロリのクラスのオブジェクトといくつかのタスクを作成した後settings.pyでは、それはtasks.pyで
app = Celery('assigner',
broker='amqp://myuser:[email protected]/my_Vhost',
backend='rpc://',
include=['assigner.tasks'])
を持って、それが
from __future__ import absolute_import
from assigner.celery import app
import time
@app.task
def longtime_add(x, y):
print 'long time task begins'
# sleep 5 seconds
time.sleep(5)
print 'long time task finished'
return x + y
あり
私はジャンゴ - 1.8、セロリ-4.0、myporjは、この問題を解決するために私を助けてください
私のDjangoのプロジェクト名ですAMQP = 2.1.1 を使用しています。