जब पायथन स्क्रिप्ट को संशोधित किया जाता है, तो मैं uWSGI को कैसे पुनः आरंभ कर सकता हूं?


38

याद नहीं कर सकते कि कहाँ है, लेकिन मैं पढ़ता हूँ जब परियोजना स्क्रिप्ट को संशोधित किया जाता है, तो मैं खुद को Django विकास सर्वर की तरह पुनः लोड कर सकता हूं। मुझे वह डॉक्स में नहीं मिला , न ही इंटर्नेट में। मैं यह कैसे कर सकता हूँ?

मैं अपनी वर्किंग मशीनों पर Ubuntu 12.04 और स्टेज एंड प्रोडक्शन सर्वर, Django 1.4 और uWSGI 1.2 पर डेबियन स्क्वीज का उपयोग करता हूं।

जवाबों:


39

संदर्भ: http://projects.unbit.it/uwsgi/wiki/Management

यदि आपने --touch-reload=/path/to/special/file/usually/the.iniविकल्प के साथ uwsgi शुरू कर दिया है , तो अपने uWSGI को फिर से लोड करना उस फ़ाइल को पुनः लोड करने का एक सरल मामला है

touch /path/to/special/file/usually/the.ini

और यदि आप "ऑटोरैलोएड" क्षमता चाहते हैं, तो यह वह टिप है जो यह किया जाता है: http://projects.unbit.it/uwsgi/wiki/TipsAndTricks#uWSGIdjangoautoradadmode



10

यदि आप django autoreload को नहीं खोना चाहते हैं, तो इस पुनः लोड विधि को पंजीकृत करें (जैसे: settings.py में):

import uwsgi
from uwsgidecorators import timer
from django.utils import autoreload

@timer(3)
def change_code_gracefull_reload(sig):
    if autoreload.code_changed():
        uwsgi.reload()

अब यदि आप अपना कोड बदलते हैं तो इसे पुनः लोड किया जाएगा।

लेखक: सिमोन फेडेरिसी


1
यह पूरी तरह से काम किया। इसके अलावा एक सशर्त जोड़ा गया है ताकि यह केवल विकास के माहौल में कहा जाता है।
2upmedia

0

uwsgi मार सिग्नल का उपयोग करके पुनः आरंभ करने की भी अनुमति देता है। मैं इसे नीचे के रूप में उपयोग करता हूं:

# ps -efa | grep uwsgi | grep prod
app  13390 13383  0 07:40 ?        00:00:00 /usr/local/bin/uwsgi --ini /etc/uwsgi/apps-enabled/app_prod.ini
app  13417 13390  0 07:40 ?        00:00:00 /usr/local/bin/uwsgi --ini /etc/uwsgi/apps-enabled/app_prod.ini
app  13419 13390  0 07:40 ?        00:00:00 /usr/local/bin/uwsgi --ini /etc/uwsgi/apps-enabled/app_prod.ini
# kill -HUP 13390

यदि आप एक ही कमांड चलाते हैं, तो आप देखेंगे कि मास्टर द्वारा पुन: spawned होते ही बच्चे procs pid को बदल दिया जाएगा। इसके अलावा मास्टर / कार्यकर्ता खरीद के लिए uwsgi विन्यास की जाँच करें। यह विधि सुगम या अन्य स्वचालन साधनों के साथ एकीकृत करना आसान है इसलिए दूरस्थ उपयोग के लिए आसान है।

इसके लिए आपकी मूल खरीद की आवश्यकता नहीं है - थॉट-रीलोड के साथ शुरू करने के लिए।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.