Pan*_*hal 5 python django global-variables django-rest-framework
我创建了一个Django-rest-framework应用程序。它公开了一些在MySQL DB中执行一些get / set操作的API。
我有一个向另一个服务器发出HTTP请求的要求,并将此响应与通常的响应一起进行。我正在尝试使用自制的HTTP连接池来发出HTTP请求,而不是在每个请求上进行新连接。
保持此应用程序级别HTTP连接池对象最合适的位置是什么?
我一直在寻找它,并且有多种解决方案,每种都有一些缺点。这里有一些:
在diff文件中创建池的单例类,但这不是执行操作的好方法。关于为什么不使用单例设计模式有各种讨论。
另外,我不知道合并一个池池有多聪明?(:P)
要使用会话,但我想如果这是特定于用户会话的内容(例如特定于用户的号码等)会更有意义
同样,该对象需要可序列化。我不知道HTTP连接池如何序列化。
存储此类应用程序/全局级别变量的最佳位置是什么?
小智 0
一种可能的解决方案是实现自定义 Django 中间件,如https://docs.djangoproject.com/ja/1.9/topics/http/middleware/中所述。
您可以在中间件的__init__方法中初始化 HTTP 连接池,该方法仅在第一个请求时调用一次。然后,在process_request期间启动 HTTP 请求,并在process_response时检查它是否已完成(或等待)并将该响应附加到内部响应。
归档时间: |
|
查看次数: |
1472 次 |
最近记录: |