芹菜节拍任务未执行

问题描述

我正在尝试通过celery-beat功能扩展django应用程序。我的项目具有以下结构

tools #project name
---manage.py
---webhooks
   ---tasks.py
---tools
   ---celery.py
   ---settings.py
   ---__init__.py

celery.py内部

from celery import Celery
from celery.schedules import crontab

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

 @app.task
 def add():
     print('tested')

init .py文件内部

from .celery import app as celery_app

__all__= ('celery_app',)

settings.py文件内部

#I use Amazon SQS as broker  CELERY_broKER_URL="sqs://{aws_access_key}:{aws_secret_key}@".format(aws_access_key=aws_access_key,aws_secret_key=aws_secret_key,)
CELERY_TIMEZONE='Europe/Moscow'
CELERY_BEAT_SHEDULE={
    'test_beat_tasks':{
        'task':'webhooks.tasks.summary','schedule':crontab(minute="*/1")
     },}

在webhooks / tasks.py中,我将crontab任务定义为如下

from celery import Celery 
from tools.celery import app

@app.task(name='summary')
def summary():
    print('cron task test')

所有这些之后,我在一个终端中按如下方式运行了工作者

celery -A tools worker -l INFO

这是输出

-------------- celery@helenisli1 v4.4.7 (cliffs)    --- ***** -----                                      
-- ******* ---- Linux-4.4.0-193-generic-x86_64-with-Ubuntu-16.04-xenial 2020-11-12 17:10:10               
- *** --- * ---
- ** ---------- [config]                             
- ** ---------- .> app:         tools:0x7f49f604f898 - ** ---------- .> transport:   sqs://AKIA5PVSI6ZSFX5N3:**@localhost//                                 - 
** ---------- .> results:     disabled://          - *** --- * --- .> concurrency: 1 (prefork)          
-- ******* ---- .> task events: 
OFF (enable -E to monitor tasks in this worker)                           
--- ***** -----                                       -------------- [queues]                                             
.> celery           exchange=celery(direct) key=celery
                                                 
[tasks]                                                
                                           
. summary                                            
. tools.celery.add


[2020-11-12 17:10:10,177: INFO/Beat] beat: Starting...
[2020-11-12 17:10:10,666: INFO/MainProcess] Connected to sqs://AKIA5PVSI6ZQM3SFX5N3:**@localhost//        
[2020-11-12 17:10:11,218: WARNING/MainProcess] /home/isli/05/env/lib/python3.5/site-packages/celery/fixups/django.py:206:                                      
[2020-11-12 17:10:11,218: INFO/MainProcess] celery@helenisli1 ready.

在另一个终端上运行芹菜节拍

celery -A tools beat -l DEBUG 

芹菜节拍执行命令执行以下输出

LocalTime -> 2020-11-12 17:04:30                     
Configuration ->                                         
. broker ->  sqs://AKIA5PVSI6ZQM5N3:**@localhost//                                                     
. loader -> celery.loaders.app.AppLoader             
. scheduler -> celery.beat.PersistentScheduler       
. db -> celerybeat-schedule                          
. logfile -> [stderr]@%DEBUG                         
. maxinterval -> 5.00 minutes (300s)
[2020-11-12 17:04:30,169: 
DEBUG/MainProcess] Setting default socket timeout to 30                         
[2020-11-12 17:04:30,169: INFO/MainProcess] beat: Starting...                                             
[2020-11-12 17:04:30,176: DEBUG/MainProcess] Current schedule:                                            
<ScheduleEntry: 
celery.backend_cleanup 
celery.backend_cleanup() <crontab: 0 4 * * * (m/h/d/dM/MY)>        
[2020-11-12 17:04:30,176: 
DEBUG/MainProcess] beat: Ticking with max interval->5.00 minutes                
[2020-11-12 17:04:30,177: DEBUG/MainProcess] beat: Waking up in 5.00 minutes.

我看到我的命令没有打印我的摘要任务的输出。 但是在shell中执行任务时

python manage.py shell 
>>>from webhooks.tasks import summary
summary.delay()

在我运行worker的终端中执行任务之后

我做错了什么?谁能指导我?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

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