在 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 (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...