我想让我的芹菜工作进程与 django 测试数据库对话。它是一个预言机数据库,所以我相信数据库/用户已经创建。
我只是想弄清楚要通过什么来传递 Celery/App 配置以使其与"TEST"数据库通信。
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.oracle',
.............
'TEST': {
'USER': WIT_TEST_DB_USER,
'PASSWORD': WIT_TEST_DB_USER,
}
}
}
我看过一篇 stackoverflow 文章,其中谈到了将 settings.conf 从父测试 setup(( 传递到工作进程。对于 sqllite 数据库,当自动生成测试数据库文件时,这可能是必需的。
就我而言,它是一个定义良好的 oracle 测试数据库,我认为它已经是配置/设置文件的一部分。
所以我正在寻找一种独立于测试运行器/测试用例代码直接启动工作流程的方法。
有人可以提出一种方法来做到这一点吗?
您将测试数据库视为普通数据库。因此,我认为最好的解决方案是在单独的设置文件中DATABASES
设置下将您的测试数据库定义为默认数据库。运行工作线程时,可以将特定的新设置文件传递给工作线程,如下所示:
export DJANGO_SETTINGS_MODULE='[python path to your celery specific settings file]'
# the command to run your celery worker