2016-03-23 18 views
0

Yürütülecek yaklaşık 10-15 saniye süren bir API'yi çağıran bir kereviz görevi uygulamaya çalışıyorum. API'yi aradıktan sonra, sonuç için http-get'i kullanarak anket yapmam gerekiyor. Şimdi her 2 saniyede bir sonuç almak istiyorum, bu da işçinin bu 2 saniyeliğine özgür olacağı anlamına geliyor. Bir keresinde kerevizlere o işçi için o süre boyunca özgür olacağını söyleyebilir miyim? Kendimi açıklamamı sağlayın.Python - Bir kereviz işçisini programlı olarak belirli bir süre ücretsiz yapabilir miyim?

+0

Sen 2 saniye bir görev geciktirmek istediğiniz demek? – AceLearn

+0

Evet. Doğru. –

cevap

1

Bir kereviz görevini geciktirmenin 2 yolu vardır.

1st: 

>>> tomorrow = datetime.now() + timedelta(days=1) 
>>> add.apply_async(args=[10, 10], eta=tomorrow) 

2nd: 
>>> result = add.apply_async(args=[10, 10], countdown=3) 
>>> result.get() # this takes at least 3 seconds to return 

Kaynak: https://ask.github.io/celery/userguide/executing.html#eta-and-countdown

+0

Yani, bu ** add ** çalıştırıyor işçi sonraki 3 saniye için meşgul olacak demek değil mi? –

+0

İşçiyi boşaltmak, içeriği kaydetmek ve yanıt hiç değilse 3 saniyelik bir gecikmeyle tekrar çalıştırmak istiyorum. Örneğin Söyleyiniz ** ekle ** sadece yürütmek için 1 saniye sürüyorsa, işçi sonraki 2 saniye boyunca özgür olacak mı? –

+0

Hayır. 3 sn için meşgul olduğu anlamına gelmez. Ancak 3 sn – AceLearn

İlgili konular