2016-04-04 39 views
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 

Not- Kerevizi durdurmadan yeni bir görev eklemek istiyorum. Bu ilk durak kerevizini kullanmalıyım ve daha sonradjango kerevizinde kereviz örneği olmadan kerevizde nasıl yeni bir görev ekleyebiliriz?

cevap

1

Bu, istediğiniz şey için bir bağlantıdır. Django'nun yönetici arayüzünü kullanarak crontab'i kurabilirsiniz. Bir görevi başlatmanın iki yolu vardır:

Zamanlayıcı, her zaman periyodu (örneğin 10 saniye) veya her zaman (crontab do gibi) görevini çağırır. Koddan, gerekli yerde ve gerekli koşullar altında. Görev zamanlayıcısı tarafından başlatılması http: // {host}/admin/djcelery/periodictask/adresindeki yönetici sayfasına gidin ve "Periyodik görev ekle" ye basın.

Alanları aşağıdaki ekran görüntüsünde gösterildiği gibi doldurun ve kaydet tuşuna basın. enter image description here

başlatın periyodik görev her 10 saniyede

önceki durumda olduğu gibi, aynı şeyi yerine dönemin fırlatma zamanı gösteriyor, ancak Crontab doldurmak için (Aralıklı sıfırlanması gerekir): enter image description here

Daha detay: http://www.lexev.org/en/2014/django-celery-setup/