服务器date时间值跳转

任何人都可以在这个date时间问题上发表看法

我的networking应用程序(在centos / apache / wsgi / django上)显示了不同的当前时间( datetime.datetime.now() )从呼叫到呼叫 – 我不问为什么时间继续前进:)

在我的debugging日志中,我得到了以下内容:(请注意,第一个和最后一个条目是由相同的过程创build的,但是后一个条目似乎是在第一个条目前五个小时创build的,这是无稽之谈)

 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 

谢谢!

您可能在同一个进程中运行多个应用程序,这些应用程序的设置方式不同 这可能发生在使用embedded模式并在相同的Apache安装中将其与PHP应用程序混合在一起的地方,或者运行多个想要以不同的方式设置TZ的Django实例的情况。

阅读:

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

解决scheme是使用mod_wsgi守护进程模式,并将具有不同TZ需求的不同Django实例委托给不同的守护进程进程组。

要确认,请提供有关您托pipe应用程序方式的更多详细信息。 即embedded式模式vs守护进程模式。 您是否运行多个Web应用程序,无论是PHP还是Python。

请注意,我假设你说的WSGI你实际上是指mod_wsgi。 如果你这样做,那么请停止使用术语WSGI来引用mod_wsgi。 Apache / mod_wsgi模块是单独的WSGI API规范的实现。 它们不是同一件事。