由于DataBaseSceduler而导致CeleryBeat中的属性错误

问题描述

我正在尝试将celery用于异步作业,并正在使用celery,docker和digitalocean。

我在docker-compose文件中有下面描述的行。

您会看到芹菜拍子部分。

在芹菜节拍部分,有“ django_celery_beat.schedulers:DatabaseScheduler”,据我了解,找不到django_celery_beat.schedulers:DatabaseScheduler。我不明白该如何解决这个问题。

version: '3.3'
services:
    web:
        build: .
        image: proje
        command: gunicorn -b 0.0.0.0:8000 proje.wsgi -w 4 --timeout 300 -t 80
        restart: unless-stopped
        tty: true
        env_file:
            - ./.env.production
        networks:
            - app-network
        depends_on:
            - migration
            - database
            - redis
        healthcheck:
            test: ["CMD","wget","http://localhost/healthcheck"]
            interval: 3s
            timeout: 3s
            retries: 10
    celery:
        image: proje
        command: celery -A proje worker -l info -n worker1@%%h
        restart: unless-stopped
        networks:
            - app-network
        environment:
            - DJANGO_SETTINGS_MODULE=proje.settings
        env_file:
            - ./.env.production
        depends_on:
            - redis
    celerybeat:
        image: proje
        command: celery -A proje beat -l info --scheduler django_celery_beat.schedulers:DatabaseScheduler
        restart: unless-stopped
        networks:
            - app-network
        environment:
            - DJANGO_SETTINGS_MODULE=proje.settings
        env_file:
            - ./.env.production
        depends_on:
            - redis
    migration:
        image: proje
        command: python manage.py migrate
        volumes:
            - .:/usr/src/app/
        env_file:
            - ./.env.production
        depends_on:
            - database
        networks:
            - app-network
    webserver:
        image: Nginx:alpine
        container_name: webserver
        restart: unless-stopped
        tty: true
        ports:
            - "80:80"
            - "443:443"
        volumes:
            - ./static/:/var/www/static/
            - ./conf/Nginx/:/etc/Nginx/conf.d/
            - webserver-logs:/var/log/Nginx/
        networks:
            - app-network
    database:
        image: "postgres:12" # use latest official postgres version
        restart: unless-stopped
        env_file:
            - .databaseenv # configure postgres
        ports:
            - "5432:5432"
        volumes:
            - database-data:/var/lib/postgresql/data/
        networks:
            - app-network
    redis:
        image: "redis:5.0.8"
        restart: unless-stopped
        command:  [ "redis-server","/redis.conf" ]
        working_dir: /var/lib/redis
        ports:
            - "6379:6379"
        volumes:
            - ./conf/redis/redis.conf:/redis.conf
            - redis-data:/var/lib/redis/
        networks:
            - app-network
#Docker Networks
networks:
    app-network:
        driver: bridge

volumes:
    database-data:
    webserver-logs:
    redis-data:

结果如下所示。我在我的项目中停留了几个月。

任何帮助将不胜感激。

enter image description here

解决方法

我已将所有这些都上传到Ubuntu服务器,并且已经正常工作。我认为我的电脑(Win 10)与它不兼容。

谢谢。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...