What is elegant way to do configuration on server app

Jerry OELoo oyljerry at gmail.com
Fri Mar 27 04:28:15 EDT 2015


Hi Grant:
Why use SIGHUP, Does it has something to do with configure file
modification? I don't get it. Thank you.

On Thu, Mar 26, 2015 at 11:49 PM, Grant Edwards <invalid at invalid.invalid> wrote:
> On 2015-03-26, Ben Finney <ben+python at benfinney.id.au> wrote:
>> Jerry OELoo <oyljerry at gmail.com> writes:
>>
>>> Currently, I can just think out that I put status into a configure
>>> file, and service schedule read this file and get status value,
>>
>> That sounds like a fine start. Some advice:
>>
>> * You may be tempted to make the configuration file executable (e.g.
>>   Python code). Resist that temptation; keep it *much* simpler, a
>>   non-executable data format.
>>
>>   Python's standard library has the ‘configparser’ module
>>  <URL:https://docs.python.org/3/library/configparser.html> to parse and
>>   provide the values from a very common configuration file format.
>>   Use that unless you have a good reason not to.
>
> I second the recommendation for configparser for stuff of simple to
> moderate complexity.  If it gets too complex for configparser, you may
> want to consider JSON, or for even more complex stuff just use plain
> Python code in your config file (this can be very powerful and
> expressive, but can also be diffucult to implement safely).
>
>> * Your program can “poll” the configuration file to see whether it has
>>   changed. At startup, read the config file's modification timestamp
>>  <URL:https://docs.python.org/3/library/os.html#os.stat_result.st_mtime>.
>>
>>   Make a part of your event loop (assuming your server runs an event
>>   loop) that wakes up every N seconds (e.g. every 60 seconds) and
>>   checkes the file's modification timestamp again; if it's newer, record
>>   that value for future comparisons, then re-read the file for its
>>   values.
>
> That sounds rather Windowsesque.  The more-or-less standard way to do
> handle the situation on Unix is to reread the config file when you get
> a SIGHUP.
>
> --
> Grant Edwards               grant.b.edwards        Yow! ONE LIFE TO LIVE for
>                                   at               ALL MY CHILDREN in ANOTHER
>                               gmail.com            WORLD all THE DAYS OF
>                                                    OUR LIVES.
> --
> https://mail.python.org/mailman/listinfo/python-list



-- 
Rejoice,I Desire!



More information about the Python-list mailing list