社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Django

Django模型在使用芹菜更新和部署到Heroku时未保存到数据库

CSStudent19583 • 3 年前 • 1339 次点击  

所以这个标题有点冗长,但我认为它很好地解释了我的问题。

我有一个Django项目,通过使用芹菜和RabbitMQ从另一个网站抓取货币数据,每60秒更新一次模型。当我在本地运行芹菜工人时,它工作得非常好,但是当我部署到Heroku时,模型不会更新。

当我查看日志时( heroku原木——尾巴 )它显示任务正在运行,但它们没有更新数据库模型。我相信这一定是因为我的设置中出现了一些配置错误。py文件,但我尝试了许多解决方案,但都没有效果。我也尝试改用Redis,但也遇到了同样的问题(它在日志中运行良好,但实际上并不更新数据库)。

以下是我认为可能导致问题的相关代码。

设置。py(使用rabbitMQ时):

CELERY_BROKER_URL = 'rabbitMQ_url_given_from_heroku'
BROKER_URL = os.environ.get("CELERY_BROKER_URL", "django://")
BROKER_POOL_LIMIT = 1
BROKER_CONNECTION_MAX_RETRIES = None

CELERY_TASK_SERIALIZER = "json"
CELERY_ACCEPT_CONTENT = ["json", "msgpack"]

设置。py(使用Redis时):

CELERY_BROKER_URL = 'Redis_url_given_from_heroku'
CELERRY_RESULT_BACKEND = 'django-db'
CELERY_ACCEPT_CONTENT = ['application/json']
CELERY_TASK_SERIALIZER = 'json'
CELERY_RESULT_SERIALIZER = 'json'
CELERY_TIMEZONE = 'UTC'

芹菜。py

import os
from celery import Celery

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'cryptoApi.settings')

app = Celery('cryptoApi')
app.config_from_object('django.conf:settings', namespace='CELERY')
app.autodiscover_tasks()

程序文件

web: gunicorn cryptoApi.wsgi --log-file -
worker: celery -A cryptoApi worker -l info

任何意见都将不胜感激

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/128364
 
1339 次点击  
文章 [ 1 ]  |  最新文章 3 年前