के साथ विशिष्ट कार्य पर समय सीमा निर्धारित करना मेरे पास सेलेरी में एक कार्य है जो आमतौर पर संचालन करते समय 10,000 सेकंड तक चला सकता है। हालांकि मेरे बाकी कार्यों को एक सेकंड से भी कम समय में किया जाना चाहिए। मैं छोटे चल रहे कार्यों पर समय सीमा को बदलने के बिना जानबूझकर लंबे समय तक चलने वाले कार्य के लिए समय सीमा कैसे निर्धारित कर सकता हूं?सेलेरी
Q
सेलेरी
30
A
उत्तर
44
आप किसी कार्य को परिभाषित करते समय या कॉल करते समय कार्य समय सीमा (hard और/या soft) सेट कर सकते हैं।
from celery.exceptions import SoftTimeLimitExceeded
@celery.task(time_limit=20)
def mytask():
try:
return do_work()
except SoftTimeLimitExceeded:
cleanup_in_a_hurry()
या
mytask.apply_async(args=[], kwargs={}, time_limit=30, soft_time_limit=10)
5
यह soft_time_limit का उपयोग कर एक विशेष कार्य के लिए डेकोरेटर और अजवाइन 3.1.23 के साथ एक उदाहरण है = 10000
@task(bind=True, default_retry_delay=30, max_retries=3, soft_time_limit=10000)
def process_task(self, task_instance):
"""Task processing."""
pass
+0
आप 'time_limit' को '@ टास्क (soft_time_limit = 10, time_limit = 15) जैसे एक साथ असाइन भी कर सकते हैं। –
संबंधित मुद्दे
- 1. सेलेरी
- 2. सेलेरी
- 3. सेलेरी
- 4. सेलेरी
- 5. सेलेरी
- 6. सेलेरी
- 7. सेलेरी 3.0.1
- 8. सेलेरी शटरिंग
- 9. सेलेरी AsyncResult होस्टनाम
- 10. सेलेरी कार्य प्रोफाइलिंग
- 11. सेलेरी परिणाम नहीं लौटाता
- 12. सेलेरी बनाम आरक्यू
- 13. सबक्लासिंग सेलेरी कार्य
- 14. गतिशील रूप से सेलेरी
- 15. संत्री, रेवेन और डीजेंगो सेलेरी
- 16. सेलेरी विंडोज सेवा कैसे बनाएं?
- 17. सेलेरी में निर्मित अस्थायी कतार
- 18. सेलेरी कार्य श्रृंखला रद्द करना?
- 19. सेलेरी कार्य को कैसे सुनिश्चित किया जा सकता है सेलेरी कार्य निष्पादन ओवरलैपिंग रोक रहा है
- 20. पायथन गुण फ़ाइल से सेलेरी कॉन्फ़िगरेशन पढ़ें
- 21. डीजेगो और सेलेरी के उदाहरण: आवधिक कार्य
- 22. सेलेरी - प्रोग्रामेटिक रूप से श्रमिकों की सूची
- 23. सेलेरी श्रमिकों के बीच साझा एक्सएमपीपी कनेक्शन
- 24. जावा से डीजेगो/सेलेरी के साथ इंटरऑपरेटिंग
- 25. सेलेरी कार्य पर उलटी गिनती रीसेट करें
- 26. सेलेरी: एकाधिक तर्कों के साथ चेनिंग कार्य
- 27. सेलेरी गतिशील कतार निर्माण और रूटिंग
- 28. सेलेरी में कार्य/आवधिक कार्य हटाएं
- 29. पता लगाएं कि सेलेरी उपलब्ध है/चल रहा है
- 30. एक सेलेरी कार्य में Django के ORM का उपयोग
ध्यान दें कि समय समाप्त/soft_timeout तर्कों को apply_async केवल अजवाइन के विकास संस्करण (मास्टर शाखा, भविष्य के संस्करण 3.1) में उपलब्ध है – asksol
आप समय-सीमा निर्धारित भी कर सकते हैं कॉन्फ़िगरेशन में एक कार्य का उपयोग करके: 'CELERY_ANNOTATIONS = {'module.mytask': {'time_limit': 20.0}}' – asksol
सेलेरी संस्करण 3.1.x के लिए ऐसा लगता है कि 'apply_async'' के लिए 'timeout/soft_timeout 'तर्क भी हैं बदलकर 'time_limit/soft_time_limit' में बदल गया। प्रासंगिक परिवर्तन यहां पेश किया गया था - https://github.com/celery/celery/commit/be6cef2e441e5ecf5857aeb77bd885f06128b9c9 – sanchitarora