gpt4 book ai didi

python - 运行 Django 服务器时如何订阅 GCP Pub/Sub?

转载 作者:行者123 更新时间:2023-12-05 06:04:21 25 4
gpt4 key购买 nike

我有一个使用 django 的后端服务,我需要订阅一个托管在 GCP pub/sub 上的消息队列

这是 Google 提供的示例代码: https://cloud.google.com/pubsub/docs/pull

实现一个功能很容易,

但我必须通过如下命令启动 django 服务器:

python manage.py runserver

或者ASGI命令

这个订阅函数应该持续运行,最好在后台运行,

我怎样才能做到这一点?

我试过 django-crontab 或 django-background-task,但是这两个都需要手动运行命令,我认为这不是我需要的。

最佳答案

在Django中添加如下格式的新进程

taskApp/
__init__.py
models.py
management/
__init__.py
commands/
__init__.py
task_process.py

在startup.sh中添加如下命令

#!/bin/sh
gunicorn --bind :8000 --workers 3 --worker-class uvicorn.workers.UvicornWorker myapplication.asgi:application & python manage.py task_process

#!/bin/sh
gunicorn --bind :8000 --workers 3 --worker-class uvicorn.workers.UvicornWorker myapplication.wsgi:application & python manage.py task_process

在 Dockerfile 中最后调用它

RUN chmod +x startup.sh
CMD ["./startup.sh"]

要检查处理是否正在运行,您可以如下验证

ps -ef | grep task_process

关于python - 运行 Django 服务器时如何订阅 GCP Pub/Sub?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66328787/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com