2012-06-19 26 views
5

मेरी समस्या काफी सरल होनी चाहिए और किसी ऐसी चीज़ से अधिक ब्याज का सवाल है जिसे बेहद निश्चित रूप से तय किया जाना चाहिए। Google मुझे वह जवाब नहीं दे सका जो मैं ढूंढ रहा था इसलिए मुझे उम्मीद है कि आपकी विशेषज्ञता मेरी मदद कर सकती है। मैं उपयोग कर रहा हूँ:डीजेगो और सेलेरी: व्यवस्थापक कार्य सूची मूल्य प्रदर्शित नहीं करती

Django 1.4 
Celery 2.5.5 
Redis 2.4.10 (latest version on homebrew?) 

और मैं सब कुछ follwing आदेशों का उपयोग करते चला रहा हूँ:

redis-server /usr/local/etc/redis.conf 
foreman run python manage.py runserver 
foreman run "python manage.py celeryd -E -B --loglevel=INFO" 
foreman run python manage.py celerycam 

मेरी settings.py में मैं निम्नलिखित विन्यास अजवाइन के लिए निर्धारित किया है:

import djcelery 
djcelery.setup_loader() 

BROKER_URL = redis 
CELERY_RESULT_BACKEND = 'redis' 
CELERY_REDIS_HOST = "localhost" 
CELERY_REDIS_PORT = 6379 
CELERY_REDIS_DB = 0 

CELERY_SEND_TASK_ERROR_EMAILS = True 
CELERYBEAT_SCHEDULER = 'djcelery.schedulers.DatabaseScheduler' 
CELERY_TASK_RESULT_EXPIRES = 172800 # 48 hours. 

के साथ यह कॉन्फ़िगरेशन यह सब काम कर रहा है, एक चीज़ को छोड़कर:

django-celery के साथ आप एक django admin (neat!) में स्वचालित रूप से अजवाइन एकीकरण प्राप्त करें, आप अपने सभी कार्यों की स्थिति की जांच कर सकते हैं जो समाप्त नहीं हुए हैं और नए कार्यों को शेड्यूल करते हैं आदि

व्यवस्थापक में कार्य सूची में, कोई मान प्रदर्शित नहीं होता है, जिसका अर्थ है सभी मूल्य कोई नहीं हैं। जब मैं किसी मान पर क्लिक करता हूं तो मैं विवरण देख सकता हूं, इसलिए ऐसा लगता है कि उन्हें सही तरीके से एकत्र किया जा रहा है। यह सिर्फ एक विस्तार है लेकिन यह मुझे बहुत परेशान करता है।

कारण यह है कि यह सूची में उन मानों को प्रदर्शित नहीं कर रहा है और मैं इसे ठीक करने के लिए क्या कर सकता हूं?

अग्रिम धन्यवाद

संपादित करें: स्क्रीनशॉट

तो यहाँ, कुछ स्क्रीनशॉट हैं के रूप में आप की तरह सभी मूल्यों को देख सकते हैं UUID आदि कर रहे हैं कोई नहीं, लेकिन यह मौसम कार्य या समाप्त हो गया है नहीं देखता । दूसरे स्क्रीनशॉट में आप विवरण पृष्ठ देख सकते हैं (एक कार्य पर क्लिक करने के बाद) और यहां इसकी सारी जानकारी है।

The django-celery admin task list not displaying all values और दूसरी छवि:

The detail page of a task displaying all values

+0

"व्यवस्थापक में कार्य सूची में, कोई मान प्रदर्शित नहीं होता है, जिसका अर्थ है कि सभी मान कोई नहीं हैं": क्या आप राज्यों (जैसे आरंभ, सफलता, विफलता) के साथ कार्य देखते हैं? यदि ऐसा है, तो इसका मतलब है कि सेलेरीकैम ठीक से काम कर रहा है। आप किस मूल्य के बारे में बात कर रहे हैं? –

+0

कृपया –

उत्तर

2

मैं भी इस की है। यह django-अजवाइन में एक बग प्रतीत होता है। यदि आप इसे ठीक करना चाहते हैं तो आपको django-celery के अपने संस्करण को अपडेट करना चाहिए (इसे this commit में django-celery में ठीक किया गया है)।

आप (समारोह fixedwidth में djcelery.admin_utils पर) निम्नलिखित को बदलते हैं:

return """<span title="%s", style="font-size: %spt;\ 
       font-family: Menlo, Courier; ">%s</span>""" % (
    escape(val[:255]), pt, escape(shortval)).replace("|br/|", "<br/>") 

में:

return ("""<span title="%s", style="font-size: %spt;\ 
        font-family: Menlo, Courier; ">%s</span>""" % (
     escape(val[:255]), pt, escape(shortval))).replace("|br/|", "<br/>") 

तो मानों व्यवस्थापक में दिखाई पड़ता है।

+0

पोस्ट में जोड़े गए चित्रों को देखें दुर्भाग्यवश यह विकल्प नहीं होगा क्योंकि उसकेोकू इसे अनुमति नहीं देता है, और कुछ आसान के लिए पीआईपी इंस्टॉल के बजाय क्लोन को गिट करने के लिए यह आसान नहीं होगा। उम्मीद है कि 2.6 रिलीज जल्द ही स्थिर हो जाएगा! –

+0

आप कोड को बंद कर सकते हैं हालांकि इसे वर्तमान संस्करण में काम करने के लिए। –

0

मुझे भी वही त्रुटि थी। admin_utils.py को अपडेट करने के बारे में दिए गए उदाहरण में थोड़ी सी त्रुटि है! आपको जो प्रतिस्थापन करने की आवश्यकता है वे हैं:

admin_utils के शीर्ष पर FIXEDWIDTH_STYLE जोड़ें।py:

FIXEDWIDTH_STYLE = '''\ 
<span title="%s", style="font-size: %spt; \ 
font-family: Menlo, Courier; ">%s</span> \ 
''' 

और फिर बदल देते हैं:

return """<span title="%s", style="font-size: %spt;\ 
       font-family: Menlo, Courier; ">%s</span>""" % (
    escape(val[:255]), pt, escape(shortval)).replace("|br/|", "<br/>") 

के साथ:

styled = FIXEDWIDTH_STYLE % (escape(val[:255]), pt,escape(shortval)) 
return styled.replace("|br/|", "<br/>") 

आप उपरोक्त GitHub कड़ी में अधिक स्पष्ट रूप से देख सकते हैं। सही काम करता है! चीयर्स!