如何组织一个阴谋冲刺项目?

vol*_*myr 8 plotly plotly-dash

我想弄清楚如何组织一个包含多个应用程序的破折号项目.所有示例都是单页应用程序,我希望将多个破折号组织为一个由gunicorn运行的项目(在docker容器内):

dash-project/
  app1/
     layout.py
     data.py
  app2/
     layout.py
     data.py
  run.py( or run.sh)
Run Code Online (Sandbox Code Playgroud)

这是一个正确的方法吗?什么应该在里面,run.py或者run.sh,如果有的话?我如何使用gunicorn来提供多个应用程序?

vol*_*myr 9

使用最新(主)版本的破折号,您可以构建一个多应用程序项目!

结构体

dash-project/
  app1/
     app.py
     datamodel.py
  app2/
     app.py
     datamodel.py
  mycomponents/
     ...
  server.py
  run.py
Run Code Online (Sandbox Code Playgroud)

APP1/app.py:

import dash
import app1.datamodel
..
from server import server

app = dash.Dash(name='app1', sharing=True, 
                server=server, url_base_pathname='/app1')
Run Code Online (Sandbox Code Playgroud)

server.py

from flask import Flask
server = Flask(__name__)
Run Code Online (Sandbox Code Playgroud)

run.py

from server import server as application

import app1.app
import app2.app    
Run Code Online (Sandbox Code Playgroud)

服务使用uwsgi(可以很容易地与nginx一起使用)

uwsgi --http 0.0.0.0:5000 --processes 4 --wsgi-file run.py
Run Code Online (Sandbox Code Playgroud)