0
@shared_task
def forgot_email(subject,user_cipher,key_cipher,to):
   print "comes here in the mail"
   try:
      email_content = {'user_cipher':user_cipher,'key_cipher':  key_cipher}
      message = render_to_string('forgot_password.txt',email_content)
      send_mail(subject, message, settings.EMAIL,to, fail_silently=False) 
      except Exception,e:
      print "Exception",e
    except:
       print 'exp'

@shared_task
def multiplesendmail(subject,body,first_name,to):
    print "comes here in the mail"
    try:
        print 'subject',subject,'body',body,'first_name',first_name,'to',to
        # email_content = {'first_name':first_name,'user_cipher':user_cipher,'key_cipher':key_cipher}
        # message = render_to_string('email_verification.txt', email_content)
        send_mail(subject,body,settings.EMAIL,to,fail_silently=False) 
    except Exception,e:
        print "Exception",e

注意-我想在不停止 celery 的情况下添加新任务。我必须先用这个停止芹菜,然后

celery -A HealthBrio worker -l info
4

1 回答 1

1

这是您想要的链接。您可以使用 django 的管理界面设置 crontab。启动任务有两种方式:

通过调度程序,它将在每个时间段(例如 10 秒)或每个特定时间(如 crontab 执行)调用任务。从代码,在需要的地方和需要的条件下。通过调度程序启动任务转到地址 http://{host}/admin/djcelery/periodictask/ 的管理页面,然后按“添加定期任务”。

如下面的屏幕截图所示填写字段,然后按保存。 在此处输入图像描述

每 10 秒启动一次周期性任务

要指示启动时间而不是周期,请执行与前一种情况相同的操作,但填写 Crontab(必须为间隔空白): 在此处输入图像描述

更多详情请访问http://www.lexev.org/en/2014/django-celery-setup/

于 2016-04-04T06:52:39.757 回答