如何在 Django 应用程序之外使用 Django 信号?
How can I use Django signals outside the Django application?
我有一个响应外部请求的 gRPC 服务器 运行。我还有一个 Django 应用程序,负责处理所有其他与网络相关的事件。当 gRPC 服务器收到请求时,我想向 Django 应用程序发送信号。 (gRPC系统已经到位。Django应用程序是一个扩展)
由于在应用程序外部使用 Django 信号不起作用(无上下文),我想要另一种方式向应用程序发送某种通知。
我知道这种情况不太可能发生。
我实现了第一种方法。也可以有其他方法。
- 有效。如果你坚持使用 Django 信号,你可以在 asgi.py 中将 gRPC 服务器作为线程启动。这允许它获得 Django 上下文,然后您可以创建自定义信号并在您的 gRPC 服务器代码中使用它。
- 通过简单地使用像 Python 中的 requests 这样的库,您可以创建一个通信机制来访问您的 Django 应用程序。
我有一个响应外部请求的 gRPC 服务器 运行。我还有一个 Django 应用程序,负责处理所有其他与网络相关的事件。当 gRPC 服务器收到请求时,我想向 Django 应用程序发送信号。 (gRPC系统已经到位。Django应用程序是一个扩展)
由于在应用程序外部使用 Django 信号不起作用(无上下文),我想要另一种方式向应用程序发送某种通知。
我知道这种情况不太可能发生。
我实现了第一种方法。也可以有其他方法。
- 有效。如果你坚持使用 Django 信号,你可以在 asgi.py 中将 gRPC 服务器作为线程启动。这允许它获得 Django 上下文,然后您可以创建自定义信号并在您的 gRPC 服务器代码中使用它。
- 通过简单地使用像 Python 中的 requests 这样的库,您可以创建一个通信机制来访问您的 Django 应用程序。