问题描述
我试图在我的Heroku应用程序上安排一些Django celery的任务,但是,我遇到了一个错误:
raised unexpected: ValueError('Redis URL must specify one of the following schemes (redis://,rediss://,unix://)',)
现在供您参考,我为生产和开发环境提供了三个设置文件,其中有一个设置文件。我的应用称为注册,包含wsgi.py
的文件为:
register
-settings
----common.py
----production.py
----development.py
-celery.py
-wsgi.py
现在我的production.py
文件中有:
from register.settings.common import *
import os
from urllib.parse import urlparse
import django_heroku
DEBUG = False
ALLOWED_HOSTS = ['mysite.herokuapp.com','wwww.mysite.com','mysite.com']
#EMAIL_HOST_USER = os.environ.get('EMAIL_HOST_USER')
#EMAIL_HOST_PASSWORD = os.environ.get('EMAIL_HOST_PASSWORD')
redis_url = urlparse(os.environ.get('REdisTOGO_URL','redis://localhost:6959'))
CACHES = {
'default': {
'BACKEND': "django_redis.cache.RedisCache",'LOCATION': '%s:%s' % (redis_url.hostname,redis_url.port),'OPTIONS': {
'DB': 0,'PASSWORD': redis_url.password,}
}
}
CELERY_broKER_URL=os.environ.get('REdisTOGO_URL')
CELERY_RESULT_BACKEND=os.environ.get('REdisTOGO_URL')
CELERY_broKER_TRANSPORT_OPTIONS = {
"max_connections": 2,}
db_from_env = dj_database_url.config(conn_max_age=600)
DATABASES['default'].update(db_from_env)
STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesstorage'
STATIC_ROOT = os.path.join(BASE_DIR,'static')
django_heroku.settings(locals(),logging=False)
from __future__ import absolute_import
import os
from celery import Celery
from django.conf import settings
import django
os.environ.setdefault('DJANGO_SETTINGS_MODULE','register.settings.production')
app = Celery('register')
app.config_from_object('django.conf:settings',namespace='CELERY')
app.autodiscover_tasks(lambda: settings.INSTALLED_APPS)
我不知道是什么导致了此错误,就像我heroku config
那样,可以看到配置变量设置正确。
这也是我的procfile:
web: gunicorn register.wsgi:application --env DJANGO_SETTINGS_MODULE='register.settings.production' --log-file -
worker: celery -A register worker -E -l info
celery_beat: celery -A register beat --loglevel=info
编辑
2020-09-07T16:19:37.558111+00:00 heroku[router]: at=info method=GET path="/" host=mysite.com request_id=4ce6cc94-2ae3-4da8-90fc-c341c4c24a31 fwd="99.255.202.184" dyno=web.1 connect=1ms service=27ms status=500 bytes=380 protocol=http
我不知道它们是否相互关联。还是因为我的网址配置
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)