Назад | Перейти на главную страницу

скачки значения даты и времени сервера

Кто-нибудь даст представление об этой проблеме с датой и временем:

Мое веб-приложение (на centos / apache / wsgi / django) показывает другое текущее время (datetime.datetime.now()) от звонка к звонку - Я не спрашиваю, почему время идет вперед :)

В моем журнале отладки появляется следующее: (обратите внимание, что первая и последняя записи сделаны одним и тем же процессом, но последняя создается за пять часов до первой, что бессмысленно)

2009-10-28 22:00:37,724 DEBUG pid=16436 time=2009-10-28 22:00:37.724682 
2009-10-28 22:00:40,194 DEBUG pid=16407 time=2009-10-28 22:00:40.194602 
2009-10-28 22:00:42,742 DEBUG pid=16409 time=2009-10-28 22:00:42.742598 
2009-10-28 22:00:44,643 DEBUG pid=16408 time=2009-10-28 22:00:44.643639 
2009-10-28 22:00:46,747 DEBUG pid=16436 time=2009-10-28 22:00:46.747777 
2009-10-28 22:00:48,973 DEBUG pid=16411 time=2009-10-28 22:00:48.973176 
2009-10-28 22:00:51,261 DEBUG pid=16410 time=2009-10-28 22:00:51.261172 
2009-10-28 17:13:16,867 DEBUG pid=16436 time=2009-10-28 17:13:16.867307

Спасибо!

Вероятно, вы запускаете несколько приложений в одном процессе, которые устанавливают TZ по-разному. Это может произойти при использовании встроенного режима и смешивании его с приложениями PHP в одной установке Apache или при наличии нескольких запущенных экземпляров Django, которые хотят установить TZ по-другому.

Прочтите:

http://code.google.com/p/modwsgi/wiki/ApplicationIssues#Timezone_and_Locale_Settings

Решение состоит в том, чтобы использовать режим демона mod_wsgi и делегировать отдельные экземпляры Django с разными требованиями TZ различным группам процессов демона.

Для подтверждения опубликуйте более подробную информацию о том, как вы размещаете свое приложение. То есть встроенный режим против режима демона. Вы запускаете несколько веб-приложений, будь то PHP или Python.

Заметьте, я предполагаю, что когда вы говорите WSGI, вы на самом деле имеете в виду mod_wsgi. Если да, то прекратите использовать термин WSGI для обозначения mod_wsgi. Модуль Apache / mod_wsgi - это реализация отдельной спецификации WSGI API. Это не одно и то же.