2016-08-02 6 views
0

をジャンゴ・セロリを設定するには、私が使用しようとした、それは私が が、今私はHerokuのサーバ でDjangoのセロリを設定する労働者としてのRedisを使用し、ローカルシステムで動作するスケジュールタスクのためのセロリを使用HerokuのHerokuのアプリで-redisアドオンはどのように自分のローカル環境ではHerokuのサーバに

は私のprocfileに私は

web: gunicorn bizbii.wsgi --log-file - 
worker : celery workder -A tasks.app -l INFO 
python manage.py celeryd -v 2 -B -s celery -E -l INFO 
を追加した後、私のsettings.py セロリSTUFF

#BROKER_URL = 'redis://localhost:6379' 
#BROKER_URL = 'os.environ['REDIS_URL']' 
#BROKER_URL = os.environ.get('REDIS_URL', 'redis://localhost:6379') 
r = redis.from_url(os.environ.get("REDIS_URL")) 
BROKER_URL = redis.from_url(os.environ.get("REDIS_URL")) 
#CELERY_RESULT_BACKEND = 'redis://localhost:6379' 
#CELERY_RESULT_BACKEND = 'os.environ['REDIS_URL']' 
CELERY_RESULT_BACKEND = os.environ.get('REDIS_URL') 
CELERY_ACCEPT_CONTENT = ['application/json'] 
CELERY_TASK_SERIALIZER = 'json' 
CELERY_RESULT_SERIALIZER = 'json' 
CELERY_TIMEZONE = 'Canada/Eastern' 

redis_url = urlparse.urlparse(os.environ.get('REDIS_URL')) 
CACHES = { 
"default": { 
"BACKEND": "redis_cache.RedisCache", 
"LOCATION": "{0}:{1}".format(redis_url.hostname, redis_url.port), 
"OPTIONS": { 
"PASSWORD": redis_url.password, 
"DB": 0, 
} 
} 
} 

にこのようなものを追加しました

それは、コマンド のpython次bizbii2

と実行-a、このコマンドを使用してダイナモを作成 Herokuの経営のbashの後

2016-07-30T08:53:19+00:00 app[heroku-redis]: source=REDIS sample#active-connections=1 sample#load-avg-1m=0.07 sample#load-avg-5m=0.075 sample#load-avg-15m=0.07 sample#read-iops=0 sample#write-iops=0 sample#memory-total=15664876.0kB sample#memory-free=13426732.0kB sample#memory-cached=460140kB sample#memory-redis=299616bytes sample#hit-rate=1 sample#evicted-keys=0 

を返すので、まだ仕事は、私は、ログ用のコマンドを実行し、その後 を実行しません。 manage.py celeryd -v 2 -B -sセロリ-E -l INFO

[2016-08-03 08:23:26,506:ERROR/Beat] beat:接続エラー:[Errno 111]接続が拒否されました。 8.0秒でもう一度試してください... [2016-08-03 08:23:26,843:ERROR/MainProcess]コンシューマ:amqp://ゲストに接続できません:**@127.0.0.1:5672 //:[Errno 111 ] 接続拒否。 は、私はこの正確な問題を抱えていた

私たちは、Herokuのサーバ

答えて

0

にセロリを展開する方法の提案を教えてください... 8.00秒後に再試行します。私は次の行で私のprocfileを更新し、エラーがなくなっています:proj.celeryまたはproj.tasks

worker: celery -A TASKFILE worker -B --loglevel=info 

は、例えばとTASKFILEを交換してください。これは、タスクの配置場所によって異なります。

関連する問題