如何在一个命令中运行django的“ python manage.py runserver”,celery的“ celery -A app_name worker -l info”和redis-server

问题描述 投票:0回答:1

我最近刚开始使用django。我开始做一个小项目。我一直在用芹菜和Redis工人。每次使用celery和redis我都必须先运行celery和redis服务器,然后再运行django服务器。这是一个漫长的过程。我有两个问题。1.我是否通过每次运行服务器来做正确的事情,或者此过程还有其他正确的方法吗?2.如果我的方向正确,有什么方法可以做到这一点?

我尝试了circus.ini,但是没有用。

python django redis django-celery circusd
1个回答
0
投票

如果使用UNIX系统:

  1. 为此,您可以与bash相处。只需在后台运行celeryredis-使用&命令。
redis-server & celery -A app_name worker -l info & python manage.py runserver

此方法的缺点-rediscelery即使关闭django dev server也将在后台运行。因此,您需要终止此过程。有关如何执行此操作的示例,请参见this unix se answer

因此您可以创建2个bash脚本start.sh(包含带有&的命令)和cleanup.sh(终止进程),然后分别运行它们。

有关生产,请参见用途#2

  1. 使用systemdsupervisor。您需要为守护程序创建conf文件,然后运行它们。
© www.soinside.com 2019 - 2024. All rights reserved.