में जॉब परिणाम जोड़ना मैं अजवाइन का उपयोग कर एक सॉफ्टवेयर अपग्रेड सिस्टम पर काम कर रहा हूं। मेरे पास एक उपयोग मामला है कि मैं साफ-सफाई लागू करने के लिए संघर्ष कर रहा हूं। यहाँ मेरी जॉब कर रहे हैं:सेलेरी
device_software_updates (DEVICE_ID)
returns a list of software updates that need to be installed on a device
installed_device_software (DEVICE_ID)
returns the software modules that are currently installed on a device
latest_device_software (DEVICE_ID)
returns the latest software versions available for a device
software_updates (installed_software, latest_software)
returns the latest software modules that are not installed
शुद्ध अजगर में, device_software_updates के कार्यान्वयन की तरह
def device_software_updates(device_id):
return software_updates(installed_device_software(device_id),
latest_device_software(device_id))
लग सकता है क्या अजवाइन में इस लागू करने के लिए स्पष्ट तरीका है, 3.0? मैं समूहों का उपयोग कर कुछ करना चाहता हूं। मेरे वर्तमान कार्यान्वयन इस तरह दिखता है:
def device_software_updates(device_id):
return (
group(installed_device_software.s(device_id),
latest_device_software.s(device_id)) |
software_updates.s()
)()
दुर्भाग्य से, इसका मतलब है कि software_updates की argspec software_updates(arg_list)
जो आदर्श नहीं है।
तुम कभी चाहिए कार्य के अंदर से परिणाम.get() कॉल करें, आपको एक डेडलॉक मिल सकता है। http://celery.readthedocs.org/en/latest/_modules/celery/result.html। – rajat
@rajat क्या आप शायद एक सही उदाहरण प्रदान कर सकते हैं? – guival