如何将Celery worker连接到django测试数据库

时间:2017-06-22 16:40:20

标签: python django oracle celery

我想让我的芹菜工人流程与django测试数据库交谈。 它是一个oracle数据库,所以我相信已经创建了数据库/用户。

我只是想弄清楚要通过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()传递给worker进程。在sqllite数据库的情况下自动生成测试数据库文件时,这可能是必要的。

就我而言,它是一个定义良好的oracle测试数据库,我认为它已经是配置/设置文件的一部分。

所以我正在寻找一种独立于testrunner / testcase代码直接启动工作流程的方法。

有人建议采用这种做法吗?

1 个答案:

答案 0 :(得分:0)

您将测试数据库视为普通数据库。因此,我认为最好的解决方案是将测试数据库定义为单独设置文件中DATABASES下的默认数据库。在运行工作程序时,您可以像这样将特定的新设置文件传递给工作程序:

export DJANGO_SETTINGS_MODULE='[python path to your celery specific settings file]'
# the command to run your celery worker