在请求

时间:2017-01-22 00:00:31

标签: django post pythonanywhere

我正在尝试构建一个类似open-auth的系统,用户可以通过另一个应用程序登录到一个应用程序。

在此过程中,我的认证" app秘密地将一个令牌发送给"客户端"应用程序。然后客户端应用程序调用身份验证应用程序询问用户的详细信息,以检查他们是否未更改。最后,身份验证应用程序响应用户详细信息,并将用户重定向到客户端应用程序并使用令牌作为密码登录。

这一切似乎在我的本地机器上运行良好。但是,当我在公共服务器上推送时,事情就出错了。

看起来身份验证应用无法处理被要求提供用户详细信息,同时还在等待来自客户端应用的回复,该回复应该确认该令牌已设置。

基本上,客户端应用程序等待身份验证应用程序回复其请求以获取详细信息。因此,客户端应用程序永远不会回复身份验证应用程序已成功设置令牌。所以请求永远不会成功。这是粗略的时间表

AUTH   : Posts token to client, waits for 200 response
CLIENT : Receive token, asks for user details, waits for 200 response
AUTH   : Still waiting for its 200 response, so doesn't answer client request. After a while, ends in a 504 gateway timeout error

我应该更改我的代码,以便某些调用是异步的吗?或者我发现问题错了吗?

1 个答案:

答案 0 :(得分:1)

如果您只有一个工作人员,那么工作人员正在忙于处理外部请求,因此内部请求永远不会得到响应。