सवाल जब Python स्क्रिप्ट संशोधित होती है तो मैं uWSGI को पुनरारंभ कैसे करूं?


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

मैं मंच और उत्पादन सर्वर, डीजेगो 1.4 और यूडब्ल्यूएसजीआई 1.2 पर अपनी कामकाजी मशीनों और डेबियन निचोड़ पर उबंटू 12.04 का उपयोग करता हूं।


37
2017-07-26 08:00


मूल




जवाब:


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

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

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

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


35
2017-07-26 08:05





वहां एक है py-autoreload=N नए रिलीज में विकल्प। बस सेट करें N चेक की आवृत्ति (सेकेंड में) (3 एक अच्छा मूल्य है)।


34
2017-07-27 10:23



यह भी बेहतर है, धन्यवाद! - culebrón
"केवल विकास में उपयोग करें" के अनुसार uwsgi दस्तावेज़ - scytale
की तरह लगता है स्पर्श पुनः लोड = / कुछ / फ़ाइल एक सुरक्षित विकल्प है - scytale


यदि आप 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()

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

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


8
2017-11-04 21:31



यह पूरी तरह से काम किया। एक सशर्त भी जोड़ा गया ताकि इसे केवल विकास पर्यावरण में बुलाया जा सके। - 2upmedia