यह नहीं बल्कि देर हो चुकी है, लेकिन मुझे नहीं लगता @mpaf द्वारा प्रदान की कोड पूरी तरह से सही है।
प्रसंग: मेरे मामले में, मैं दो उप-कार्य पहले जिनमें से एक वापसी मान जो इनपुट तर्क के रूप में दूसरे को दिया जाता है प्रदान करता है,। मैं निष्पादित करने के लिए दूसरा काम प्राप्त करने में परेशानी हो रही थी - मैं लॉग अजवाइन पहले की एक कॉलबैक के रूप में दूसरा काम स्वीकार करते हैं में देखा था, लेकिन यह दूसरे पर अमल कभी नहीं होगा।
यह मेरा गैर काम कर रहे श्रृंखला कोड था -:
from celery import chain
chain(
module.task1.s(arg),
module.task2.s()
).apply_async(countdown=0.1, queue='queuename')
@ mpaf के जवाब में प्रदान की वाक्य रचना का उपयोग करना, मैं दोनों कार्यों को निष्पादित करने के लिए मिल गया है, लेकिन निष्पादन आदेश बेतरतीब था और दूसरा उपकार्य स्वीकार नहीं किया गया था पहले के कॉलबैक के रूप में। मुझे एक उप-कार्य पर कतार को स्पष्ट रूप से सेट करने के तरीके पर दस्तावेज़ों को ब्राउज़ करने का विचार मिला। 'AsyncResult': | -
यह काम कर कोड है: का समर्थन नहीं संकार्य प्रकार (ओं): लेखन त्रुटि:
chain(
module.task1.s(arg).set(queue='queuename'),
module.task2.s().set(queue='queuename')
).apply_async(countdown=0.1)
हममम, कि आंशिक उदाहरण मेरे लिए काम नहीं किया, मैं वापस निम्न त्रुटि मिला और 'AsyncResult' (3.0 का उपयोग कर।23) – Clara
मुझे दूसरे कार्य को निष्पादित करने के लिए 'चेन' प्राप्त करने की कोशिश में अपने आप के मुद्दे थे। प्रश्न: यदि आप दोनों कार्यों पर 'apply_async' को कॉल कर रहे हैं, तो क्या वास्तव में यह एक श्रृंखला है? क्या दोनों कार्य अपने स्वयं के समझौते को निष्पादित नहीं करेंगे? मैंने आपके वाक्यविन्यास को आजमाया और यह असफल रहा क्योंकि मेरे मामले में पहला उपटस्क एक मान देता है जो दूसरे द्वारा उपयोग किया जाता है। – PritishC