定期任务在 django 芹菜中无法正常工作
Periodic task is not working properly in django celery
你好朋友,我需要你的帮助来完成 django 应用程序的定期任务。我正在尝试使用芹菜执行定期任务,但它无法正常工作。我有一个简单的任务,其中只有一个打印语句。 Celery 只工作了第一次,我也尝试了 'celery beat',但没有得到结果
我的"task.py"是
from __future__ import absolute_import
from myapp.celery import app
from celery.schedules import crontab
from celery.task import periodic_task
from celery.registry import tasks
@periodic_task(run_every=(crontab(minute='*/1')), name="some_task")
def every_minute(a,b):
print("This is running after one minute",a+b)
return "task done"
tasks.register(every_minute)
和"view.py"
from django.http import HttpResponse
from django.views.generic import View
from .tasks import *
from .models import *
from datetime import datetime, timedelta
class CeleryTest(View):
def get(self,request):
send_date = datetime.now() + timedelta(seconds=200)
task=every_minute.apply_async([5,6],etc=send_date)
while not task.ready():
print "calling............task is not ready"
return HttpResponse("hi get ur task")
我刚刚在之前的 celery 设置中添加了这个时间表。"setting.py"
CELERYBEAT_SCHEDULE = {
'every_minute': {
'task': 'every_minute.add',
'schedule': crontab(minute='*/1'),
'args': (5, 6),
},
}
谢谢朋友们抽出时间
像这样使用你的时间表....
CELERYBEAT_SCHEDULE = {
'every_minute': {
'task': 'every_minute',
},
}
和运行芹菜的这个命令
python manage.py celeryd -BE -l info
现在我的周期性任务运行宁没问题。
你好朋友,我需要你的帮助来完成 django 应用程序的定期任务。我正在尝试使用芹菜执行定期任务,但它无法正常工作。我有一个简单的任务,其中只有一个打印语句。 Celery 只工作了第一次,我也尝试了 'celery beat',但没有得到结果
我的"task.py"是
from __future__ import absolute_import
from myapp.celery import app
from celery.schedules import crontab
from celery.task import periodic_task
from celery.registry import tasks
@periodic_task(run_every=(crontab(minute='*/1')), name="some_task")
def every_minute(a,b):
print("This is running after one minute",a+b)
return "task done"
tasks.register(every_minute)
和"view.py"
from django.http import HttpResponse
from django.views.generic import View
from .tasks import *
from .models import *
from datetime import datetime, timedelta
class CeleryTest(View):
def get(self,request):
send_date = datetime.now() + timedelta(seconds=200)
task=every_minute.apply_async([5,6],etc=send_date)
while not task.ready():
print "calling............task is not ready"
return HttpResponse("hi get ur task")
我刚刚在之前的 celery 设置中添加了这个时间表。"setting.py"
CELERYBEAT_SCHEDULE = {
'every_minute': {
'task': 'every_minute.add',
'schedule': crontab(minute='*/1'),
'args': (5, 6),
},
}
谢谢朋友们抽出时间
像这样使用你的时间表....
CELERYBEAT_SCHEDULE = {
'every_minute': {
'task': 'every_minute',
},
}
和运行芹菜的这个命令
python manage.py celeryd -BE -l info
现在我的周期性任务运行宁没问题。