如何在 Django 应用程序之外使用 Django 信号?

How can I use Django signals outside the Django application?

我有一个响应外部请求的 gRPC 服务器 运行。我还有一个 Django 应用程序,负责处理所有其他与网络相关的事件。当 gRPC 服务器收到请求时,我想向 Django 应用程序发送信号。 (gRPC系统已经到位。Django应用程序是一个扩展)

由于在应用程序外部使用 Django 信号不起作用(无上下文),我想要另一种方式向应用程序发送某种通知。

我知道这种情况不太可能发生。

我实现了第一种方法。也可以有其他方法。

  1. 有效。如果你坚持使用 Django 信号,你可以在 asgi.py 中将 gRPC 服务器作为线程启动。这允许它获得 Django 上下文,然后您可以创建自定义信号并在您的 gRPC 服务器代码中使用它。
  2. 通过简单地使用像 Python 中的 requests 这样的库,您可以创建一个通信机制来访问您的 Django 应用程序。