我无法让dev_appserver.py识别我使用queue.yaml创建的自定义队列。它们没有出现在http://localhost:8000/taskqueue中,当我尝试向它们添加任务时,我得到了UnknownQueueError。它在生产环境中工作正常。
我在Windows 10上使用python 2.7。
queue.yaml中
total_storage_limit: 5G queue: - name: not-queue-a bucket_size: 500 rate: 10/s retry_parameters: task_retry_limit: 2 min_backoff_seconds: 10 target: msnot - name: ui-worker target: msbui bucket_size: 200 rate: 1/s retry_parameters: task_retry_limit: 4 min_backoff_seconds: 1
我的项目结构是这样的:
|-- root |-- queue.yaml |-- index.yaml |-- dispatch.yaml |-- cron.yaml |-- microservice1 |-- app.yaml |-- microservice1.py |-- microservice2 |-- app.yaml |-- microservice1.py |-- microservice3 |-- app.yaml |-- microservice3.py |-- microservice4 |-- app.yaml |-- microservice4.py
我尝试将queue.yaml的副本添加到microservice-sub文件夹中,但我仍然遇到了同样的问题。我还重启了dev_appserver.py几次。
答案 0 :(得分:1)
当我将我的应用分成多个服务时,我遇到了同样的问题,dev_appserver.py
没有完全赶上多服务应用。我通过对每个服务中的queue.yaml
文件进行符号链接来解决这个问题:
|-- microservice1
|-- app.yaml
|-- microservice1.py
|-- queue.yaml -> ../queue.yaml
可能只需要default
服务,但我不完全确定,我没有尝试过。
注意:我对其他应用级配置文件应用了类似的方法。另请参阅Can a default service/module in a Google App Engine app be a sibling of a non-default one in terms of folder structure?