微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 Django 应用程序中正确连接 RPC 服务通信

如何解决在 Django 应用程序中正确连接 RPC 服务通信

我正在开发一个 Django 应用程序,它需要执行预定的和/或长时间运行的任务。为了实现这一点,我使用 rpyc 包设置了一个服务,与 apscheduler 包配对以执行作业。 到目前为止它似乎运行良好,但是我想知道是否有更多有经验的开发人员可以给我他们的意见,因为我担心我的设计的某些方面会显示代码异味。


这是我正在做的一般流程:

  1. 向特定的 view 发出请求
  2. 实例化连接到服务 IN view
  3. 调用 RPC 服务公开的 add_job 方法来安排作业
  4. 注册成功执行特定作业时调用的回调
  5. view 返回并关闭/断开连接

我现在正在做的是使用 cloudpickle 序列化可调用对象,并在服务端对其进行反序列化,这样远程服务就可以使用所有需要的依赖项来执行它。到目前为止,这是有效的,但我承认能够只传递一个调用对象对于可扩展性来说是理想的。


TL;博士:

我的问题是 - 只是从 django 应用程序实例化到 RPC 服务的持久连接,而不是必须在每个请求上创建-删除一个新连接并序列化弱引用和可调用对象,是否会更好的设计/实践?我目前不确定在 Django 代码中在哪里启动这种持久连接。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。