Heroku工作者无法访问数据库

时间:2018-01-17 19:26:53

标签: django heroku worker

我有一个由Heroku托管的Django项目,一个(postgresql)数据库,一个与该数据库交互的应用程序(在web dyno上),还有一个应该与数据库交互的工作者。

应用程序要求工作人员在后台执行长时间运行的任务,就像一些数据库查询一样。但是,我在实现这个方面遇到了麻烦。我认为问题是工作人员无权访问数据库。我看到的具体错误是:

app[worker.1]: ImproperlyConfigured: Requested setting DEFAULT_INDEX_TABLESPACE, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.

这对我来说并不合理,因为来自工人的错误。设置正在加载正常 - 网络dyno上的所有内容都按预期工作。我唯一能想到的是,工作人员无法访问已配置的设置,包括数据库凭据。

如何解决此问题?

修改 这是Procfile:

web: gunicorn myapp.wsgi --log-file -
worker: python launchworker.py

正如那里指出的那样,工作人员是作为Heroku工作者启动的,它根本不会运行Django项目(据我所知,如果它是管理命令的话)。 This was the method recommended by Heroku.

0 个答案:

没有答案