Python django芹菜未在digitalocean服务器中执行tasks.py

Python django芹菜未在digitalocean服务器中执行tasks.py,python,django,celery,digital-ocean,Python,Django,Celery,Digital Ocean,我在我的django项目中使用了芹菜来安排任务,它在本地服务器中有点完美,我将此更新上传到我的digitalocean服务器,经过3天的搜索和修复问题后,我无法理解我犯的那一撮错误, 这是我的项目结构 ├── app │ ├── __init__.py │ ├── admin.py │ ├── urls.py │ ├── models.py │ ├── apps.py │ └── views.py ├── manage.py ├── corsa │ ├── __ini

我在我的
django
项目中使用了
芹菜
来安排任务,它在本地服务器中有点完美,我将此更新上传到我的
digitalocean
服务器,经过3天的搜索和修复问题后,我无法理解我犯的那一撮错误, 这是我的项目结构

├── app
│   ├── __init__.py
│   ├── admin.py
│   ├── urls.py
│   ├── models.py
│   ├── apps.py
│   └── views.py
├── manage.py
├── corsa
│   ├── __init__.py
│   ├── celery.py
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py
├── requirements.txt
└── templates
    ├── base.html
    ├── other
tasks.py:

@shared_task
def just_testing():
    print('    test log     ')

@shared_task
def tasks_to_do_daily():
    # some stuff to do daily 

@shared_task
def tasks_to_do_weekly():
    # some stuff to do weekly 
芹菜:

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'corsa.settings')

app = Celery('corsa')
app.config_from_object('django.conf:settings', namespace='CELERY')
app.autodiscover_tasks()



app.conf.beat_schedule = {
    'add-contrab1': {
        'task': 'app.tasks.just_testing',
        'schedule': 6.0,
    },
    'add-contrab2': {
        'task': 'app.tasks.tasks_to_do_daily',
        'schedule': crontab(minute='26', hour='09'),
    },

    'add-contrab3': {
        'task': 'app.tasks.tasks_to_do_weekly',
        'schedule': crontab(minute='00', hour='00', day_of_week='sat,tue'),
    },
}

app.conf.CELERY_TIMEZONE = 'Asia/Hong_Kong'
settings.py:

CELERY_BROKER_URL = 'amqp://localhost'
好的,现在发布部分

  • 本地
我尝试了这些推荐
芹菜-一个corsa工人-l信息
芹菜-一个corsa节拍-l信息
芹菜工人-A corsa--loglevel=info
所有主题工作都没有错误,但根本不做任何任务code of tasks.py

唯一一个与我配合良好的方法是:

celery -A corsa worker -B
我不知道为什么,我寻找原因,但找不到一个明确的答案来解释原因

  • 数码海洋
我继续学习digitalocean server的本教程,但没有像我应该做的那样工作,我将推荐部分从
芹菜工人-A corsa--loglevel=INFO
更改为
芹菜-A corsa工人-B
,但仍然没有注意到wokring! 顺便说一句,与
Supervisord
相关的所有赞扬都能像赞扬一样完美地工作,但仍然没有执行tasks.py

    sudo supervisorctl reread
    sudo supervisorctl update
    sudo supervisorctl stop corsa
    sudo supervisorctl start corsa
    sudo supervisorctl status corsa

所以对于服务器部分,我仍然不知道有什么问题以及如何解决。需要帮忙吗

amqp://localhost
-首先,您的本地机器上是否有运行RabbitMQ的实例?是的,在本地机器上,一切都很完美@Greenevand,远程怎么样?你的芹菜应用程序能连接到代理吗?也许您还应该向问题添加一些日志是的,它已连接,但如果您能够通过调用
taskname在队列中获取任务,则不执行taskscheck。应用异步((),{},queue='testqueue')
,在这种情况下,您将知道问题出在芹菜节拍
amqp://localhost
-首先,您的本地计算机上有运行RabbitMQ的实例吗?是的,在本地计算机上,一切都很完美@Greenevand,远程呢?你的芹菜应用程序能连接到代理吗?也许您还应该在问题中添加一些日志是的,它已连接,但如果您能够通过调用
taskname获得队列中的任务,则不执行taskscheck。应用异步((),{},queue='testqueue')
,在这种情况下,您将知道问题出在芹菜中