2012-12-04 21 views
8

मेरे पास एक अजवाइन सेट है जो कार्यों को संसाधित करने के लिए दो अलग-अलग सर्वरों का उपयोग करता है। मैं इस बात को पूरा करने का सबसे अच्छा तरीका जानने का प्रयास कर रहा हूं कि कार्य किस सर्वर पर पूरा हुआ। मैंने दस्तावेज़ों को देखा और एक AsyncResult से होस्टनाम पुनर्प्राप्त करने के बारे में कुछ भी नहीं देखा।सेलेरी AsyncResult होस्टनाम

इस मामले पर किसी भी इनपुट की सराहना की जाती है। एक और विकल्प जो मैं कोशिश करने के बारे में सोच रहा था बस मेजबाननाम को प्रत्येक सेलेरी कॉन्फ़िगरेशन में डाल रहा है, हालांकि यह विधि वांछित नहीं है क्योंकि यह याद रखना एक और बात है।

उत्तर

5

एक संभावित समाधान, कार्य वापसी मान के साथ होस्ट नाम लौटने

from celery import current_task 

@celery.task 
def hello(x, y): 
    return dict(hostname=current_task.request.hostname, result='hello') 
+0

आपकी प्रतिक्रिया के लिए धन्यवाद। यह वह दृष्टिकोण है जिसका मैंने उपयोग समाप्त कर दिया। मैं इस पोस्ट को अपडेट करना भूल गया। मुख्य मुद्दा जो मैं ला रहा था वह यह है कि मुझे लगता है कि होस्टनाम जानकारी का एक मूल्यवान टुकड़ा है जिसे प्रत्येक प्रतिक्रिया में एक गिम के रूप में शामिल किया जाना चाहिए। – user1595702

संबंधित मुद्दे