ကျွန်ုပ်သည် ၀ န်ဆောင်မှုတစ်ခုအားလွင့်စင်သွားစေရန်ကြိုးစားနေသည်မှာ ၄ င်းသည်ပြန်ပို့ရန် ၄၅ စက္ကန့်ခန့်ကြာသည်။ ကံမကောင်းစွာဖြင့်၊ ဤဝဘ်ဆိုက်သည်အနည်းငယ်စိတ်မချရသောကြောင့်အမှားများကိုပြုလုပ်နိုင်သည်။ ငါ django-ဟင်းသီးဟင်းရွက်
ကို set up နှင့်တာဝန် max_retries
ကျော်လွန်ပျက်ကွက်သည်အထိဒဏ်ငွေအလုပ်လုပ်တယ်သောငါ၏တာဝန်များကိုကွပ်မျက်ရှိသည်ပါပြီ။
ယခုအချိန်အထိကျွန်ုပ်ရရှိထားသောအရာများမှာ -
@task(default_retry_delay=5, max_retries=10)
def request(xml):
try:
server = Client('https://www.whatever.net/RealTimeService.asmx?wsdl')
xml = server.service.RunRealTimeXML(
username=settings.WS_USERNAME,
password=settings.WS_PASSWORD,
xml=xml
)
except Exception, e:
result = Result(celery_id=request.request.id, details=e.reason, status="i")
result.save()
try:
return request.retry(exc=e)
except MaxRetriesExceededError, e:
result = Result(celery_id=request.request.id, details="Max Retries Exceeded", status="f")
result.save()
raise
result = Result(celery_id=request.request.id, details=xml, status="s")
result.save()
return result
ကံမကောင်းစွာ MaxRetriesExceededError
retry ()
မှပစ်ချခြင်းမရှိပါ။ ထို့ကြောင့်မအောင်မြင်မှုကိုမည်သို့ကိုင်တွယ်ရမည်ကိုမသေချာပါ။ ဒီတာဝန်။ Django သည် HTML ကိုဖောက်သည်ထံသို့ပြန်ပို့ပြီးပြီ။ ငါဘယ်တော့မှမရနိုင်သော AJAX မှတဆင့် ရလဒ်
၏ရလဒ်များကို f
f ကိုစစ်ဆေးနေသည်။
ထို့ကြောင့်မေးခွန်းမှာ - Celery လုပ်ငန်းပြီးဆုံးသောအခါကျွန်ုပ်၏ဒေတာဘေ့စ်ကိုဘယ်လိုပြုပြင်မလဲ။ max_retries