我正在使用芹菜构建一个用于后台任务的flask应用程序。我的应用程序使用在docker容器中运行的本地堆栈为我的消息代理在本地模拟SQS。我已经让flask和celery在本地运行,以便正确地使用localstack,我可以看到flask接收一个请求,向SQS队列添加一条消息,然后celery获得该任务并执行它。
我尝试将flask和celery与localstack一起停靠,我的所有服务都按预期运行,除了celery worker,它不执行队列中的任务。我可以在本地启动一个芹菜工人,它将读取队列并执行任务,但docker芹菜工人不会拉出任何任务。
在flask容器中运行celery work
我在试图在气流上显示我的本地DAG时遇到了一些问题。
我用Docker部署气流,但我没有显示本地计算机上的DAG,它只显示在"docker-compose.yaml“文件中设置气流时出现的”标准“DAG。
我的dag/log文件的路径是:C:\Users\taz\Documents\工作区(工作区是我拥有进程和日志文件夹的文件夹)。
这里是“码头-合成人”
version: '3'
x-airflow-common:
&airflow-common
# In order to add custom dependencies or upgrade prov
我已经在下面发布了相关的文件。一切都按预期构建,但是,当尝试使用SQLAlchemy调用数据库时,我总是得到以下错误:
OperationalError: (psycopg2.OperationalError) could not translate host name "db" to address: Name or service not known
sqlalchemy使用的字符串是(在.env.web.dev中给出的):postgres://postgres:postgres@db:5432/spaceofmotion。
我做错了什么?
docker-compose.y
在我的Dockerfile中:
ENV PROJECTNAME mytestwebsite
CMD ["django-admin", "startproject", "$PROJECTNAME"]
错误:
CommandError: '$PROJECTNAME' is not a valid project name
这里最快的办法是什么?Docker是否计划在较后版本的Docker中“修复”或引入此功能?
注意:如果我从Docker文件中删除CMD行,然后运行Docker容器,我就能够从容器内部手动运行Django-admin
当我试图运行我的应用程序时,我使用的是没有对接器的应用程序,它的工作非常完美,但是在docker -组合中,我得到了以下错误:
| Error: Invalid value for '-A' / '--app':
| Unable to load celery application.
| The module sampleproject was not found.
我的docker-compose文件
app:
container_name: myapp