2013-10-09 64 views
1

我们增加了管理员用户通过门户更改服务器日期&时间的能力。更改日期&时间返回正常工作正常,但向前改变(超过fastcgi_read_timeout)正在返回'504网关超时',即使服务器时间在后台成功更改。504网关超时django网站与nginx + fastcgi

请指教如何处理?

谢谢。

+0

你如何更改日期/时间?更改Django中的时区,操作系统中的时区或操作系统中的实际日期/时间?更改服务器上的实际时间可能会产生严重的不良后果,应该不是“正常”的过程。使用NTP保持系统一步。 – AndrewS

+0

OS的实际日期/时间(Ubuntu 12.04)。我们还提供了从同一门户更改时区和ntp服务器的功能。我同意你关于不要混淆操作系统时间,但要求进来,我不能争辩。我想有些客户不想将服务器连接到互联网或设置NTP。 – user1366786

+0

我的建议是尝试重新启动/重新加载服务,直到它工作或作为服务器重新启动的最后一招。然后,您可以将这些步骤添加到流程中。我个人推荐重启以确保像cron,MTAs,系统日志提供程序等关键守护进程处于良好状态。 – AndrewS

回答

0

我和另一个项目有一个非常类似的问题。也许最好是通过JavaScript AJAX请求异步提交日期&时间凭据(我假设您将使用NTP服务器IP来完成此操作)。然后,让服务器在日期&时间内完成它的工作。同时,有客户端JavaScript,不断探测带间隔AJAX请求的服务器(或者每隔5秒)在服务器上获取响应消息的时间。这样,每个后续的AJAX请求都会启动一个新的Nginx会话,如果第一次失败/超时,则再次尝试,如果失败,则再尝试第三次,等等。

这对我们的系统有效。但是,我不知道您的产品是否具有登录/身份验证凭据。如果确实如此,那么用户可能不得不再次登录所有设置和完成,因为时间的改变也可能在其登录会话期满之后。我认为这不是什么大问题,因为理论上他们应该只需要一段时间改变日期/时间,如果不只是一次。所以它不应该对用户体验有太大的影响。

标签:nginx,NTP,超时,504