Hi,

In our CI integration testing we use special test database and we do
explicitly set both normal connection and test connection to reuse the same
database. Also we do use --keepdb to avoid database teardown.

Note that you have to use transactional test otherwise your worker doesn't
see data from main process.



26.6.2017 9.58 ip. "sarvi" <[email protected]> kirjoitti:

> The problem is not where I start the worker.
> You are absolutely right, i can start in the setup code as well and am
> fine with doign that.
>
> My problem, is wherever I start the work process, how do I get the work
> process, which tries to access the data model, to talk to the "test"
> database.
> When I start the work process it automatically talks to the "default"
> database, not the test database, that was created/connected to by the
> django testing code.
>
>
>
> On Monday, June 26, 2017 at 9:42:50 AM UTC-7, Avraham Serour wrote:
>>
>> I don't think you need to create a custom TestRunner, I believe it would
>> be enough to use setUp and tearDown to start and stop an external process,
>> which in your case would be a celery worker
>>
>> Would that work for you?
>>
>> On Mon, Jun 26, 2017 at 6:19 PM, sarvi <[email protected]> wrote:
>>
>>> anybody have any suggestions on how I can do this?
>>>
>>>
>>> I essentially  want a worker process to connect to the django test
>>> database ?
>>>
>>>
>>> On Thursday, June 22, 2017 at 11:56:41 AM UTC-7, sarvi wrote:
>>>>
>>>> I do have and use eager = True for local developer testing, environment.
>>>> And I have been able to write test cases and they work in eager mode,
>>>> fine.
>>>>
>>>>
>>>> However, I do have a CI test environment, where I would like to be able
>>>> to run these same test suites with real asynchronous worker processes.
>>>> To make sure there are no problems when running them in a real world
>>>> distributed model a Implements well.
>>>>
>>>> So What I am trying to do is to create my own custom Django Test Runner
>>>> that
>>>>    1. Lets the regular django test runner create/setup the test database
>>>>    2. Start the Celery worker and have it talk to the same test
>>>> database.
>>>>
>>>> I am having a very tough time finding a way to do this.
>>>>
>>>> The closest answer I found was
>>>> https://stackoverflow.com/questions/42058295/make-celery-
>>>> use-djangos-test-database-without-task-always-eager
>>>>
>>>> But couldn't figure out how to implement/do the Advanced: Step 3 that
>>>> is suggested there.
>>>>
>>>>
>>>>
>>>> On Thursday, June 22, 2017 at 11:44:23 AM UTC-7, Avraham Serour wrote:
>>>>>
>>>>> Any special reason you are not using eager=true for celery under test?
>>>>>
>>>>> On Jun 22, 2017 7:17 PM, "sarvi" <[email protected]> wrote:
>>>>>
>>>>>>
>>>>>> Can someone help me with how can I get my celery worker
>>>>>> process(standalone app outside of djanog) to talk to a django test 
>>>>>> database
>>>>>> ?
>>>>>>
>>>>>> I am trying to test a celery/django app.
>>>>>> I plan on starting the celery worker process with a custom TestRunner.
>>>>>> So that the worker process starts after the django test runner has
>>>>>> created the test database.
>>>>>>
>>>>>> DATABASES = {
>>>>>>
>>>>>>     'default': {
>>>>>>
>>>>>>         'ENGINE': 'django.db.backends.oracle',
>>>>>>
>>>>>>         ..............
>>>>>>
>>>>>>         'TEST': {
>>>>>>
>>>>>>             'USER': WIT_TEST_DB_USER,
>>>>>>
>>>>>>             'PASSWORD': WIT_TEST_DB_USER,
>>>>>>
>>>>>>         }
>>>>>>
>>>>>>     }
>>>>>>
>>>>>> }
>>>>>>
>>>>>> How can I setup the celery app environment so that when the tasks
>>>>>> access the the app.models.X, they are talk to the "test" database.
>>>>>>
>>>>>> Thanks,
>>>>>> Sarvi
>>>>>>
>>>>>> --
>>>>>> You received this message because you are subscribed to the Google
>>>>>> Groups "Django users" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>> send an email to [email protected].
>>>>>> To post to this group, send email to [email protected].
>>>>>> Visit this group at https://groups.google.com/group/django-users.
>>>>>> To view this discussion on the web visit
>>>>>> https://groups.google.com/d/msgid/django-users/e9ba0c8c-a4e3
>>>>>> -4588-99ec-46be91c4ba1b%40googlegroups.com
>>>>>> <https://groups.google.com/d/msgid/django-users/e9ba0c8c-a4e3-4588-99ec-46be91c4ba1b%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>>> .
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>
>>>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "Django users" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected].
>>> To post to this group, send email to [email protected].
>>> Visit this group at https://groups.google.com/group/django-users.
>>> To view this discussion on the web visit https://groups.google.com/d/ms
>>> gid/django-users/2bc42c7b-b601-4683-9eb4-ede77208ec5d%40googlegroups.com
>>> <https://groups.google.com/d/msgid/django-users/2bc42c7b-b601-4683-9eb4-ede77208ec5d%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>> --
> You received this message because you are subscribed to the Google Groups
> "Django users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at https://groups.google.com/group/django-users.
> To view this discussion on the web visit https://groups.google.com/d/
> msgid/django-users/cb2468ae-1be1-4880-a335-76c48974e36e%40googlegroups.com
> <https://groups.google.com/d/msgid/django-users/cb2468ae-1be1-4880-a335-76c48974e36e%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/CAHn91oecoSCvyOENjbnbqPDsLu2by-D0Eoi7j9QniXaJC-vdfQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to