Seite 1 von 1

Django-Q scheduled tasks funktionieren nicht mit Docker

Verfasst: Dienstag 15. Juni 2021, 19:27
von naheliegend
Hallo,

ich verzweifle bald und bekomme das alleine nicht hin.

Ich habe meine App, das Django-Q-Cluster und die Postgres in einzelne Container gepackt. Für Django-Q benutze ich den Django-ORM als Broker.

Wenn ich das ganze lokal mit python manage.py runserver & python manage.py qcluster starte, dann funktioniert alles.

Wenn ich nun meine Container builde und hochfahre, dann nimmt sich der worker einfach nicht die erfolgreich in der Datenbank angelegte task. Es passiert einfach nichts...

Das wäre mein docker-compose file:

Code: Alles auswählen

version: "3.7"
services:
    app:
        build: .
        expose:
            - 8000
        image: app:djangoname
        volumes:
            - ./get_app/static/:/django-app/static/
        env_file:
            - ./.env.dev
        container_name: django_app_container    
        command: gunicorn get_project.wsgi:application --bind 0.0.0.0:8000 --workers=3 --threads=3
        depends_on:
            - db
    djangoq:
        build: .
        command: python manage.py qcluster
        volumes:
            - ./:/django-app
        depends_on:
            - app    
    db:
        image: postgres:12.0-alpine
        volumes:
            - ./data/db:/var/lib/postgresql/data
        environment:
            - POSTGRES_USER=user
            - POSTGRES_PASSWORD=xxx
            - POSTGRES_DB=postgres_django_dev
        container_name: postgres_db_container    
            

Code: Alles auswählen

Q_CLUSTER = {
    'name': 'DjangORM',
    'workers': 1,
    'timeout': 60,
    'queue_limit': 10,
    'bulk': 10,
    'orm': 'default'
}
Woran kann das liegen?

Braucht ihr noch mehr Informationen?

Re: Django-Q scheduled tasks funktionieren nicht mit Docker

Verfasst: Dienstag 15. Juni 2021, 20:59
von DasIch
Ein Blick in die Logs wäre sicherlich sinnvoll, so kann man nicht viel sagen. Allerdings würde ich erwarten dass `app` und `djangoq` (nahezu) die gleiche Konfiguration haben, scheint aber nicht so zu sein denn `app` hat ein `env_file` was `djangoq` nicht hat. Fehlende oder falsche Konfiguration könnte das Verhalten dass du beschreibst sicherlich erklären.

Re: Django-Q scheduled tasks funktionieren nicht mit Docker

Verfasst: Mittwoch 16. Juni 2021, 07:57
von naheliegend
DasIch hat geschrieben: Dienstag 15. Juni 2021, 20:59 Ein Blick in die Logs wäre sicherlich sinnvoll, so kann man nicht viel sagen. Allerdings würde ich erwarten dass `app` und `djangoq` (nahezu) die gleiche Konfiguration haben, scheint aber nicht so zu sein denn `app` hat ein `env_file` was `djangoq` nicht hat. Fehlende oder falsche Konfiguration könnte das Verhalten dass du beschreibst sicherlich erklären.
Jaaaa! Das war es. Macht natürlich Sinn. Danke.