我一直在努力研究如何最好地制作超集,或者至少让它在守护进程中运行。我创建了一个SystemD服务,其中包含以下内容:
[Unit]
Description=Superset
[Service]
Type=simple
WorkingDirectory=/home/XXXX/Documents/superset/venv
ExecStart=/home/XXXX/Documents/superset/venv/bin/superset runserver
[Install]
WantedBy=multi-user.target
我遇到的最后一个错误是无法找到枪炮。我不知道我还缺少什么,还是有另一种方法来设置它?
由于
答案 0 :(得分:0)
我能够设置它,经过一系列搜索和主管的试错,这是一个python 2程序,但你可以运行任何命令(包括其他虚拟环境中的其他python版本)。
我在ubuntu 16 VPS上运行它。创建环境并安装管理程序后,您将创建一个配置文件,我的内容如下所示:
[supervisord]
logfile = %(ENV_HOME)s/sdaprod/supervisor/supervisord.log
logfile_maxbytes = 50MB
logfile_backups=10
loglevel = info
pidfile = %(ENV_HOME)s/sdaprod/supervisor/supervisord.pid
nodaemon = false
minfds = 1024
minprocs = 200
umask = 022
identifier = supervisor
directory = %(ENV_HOME)s/sdaprod/supervisor
nocleanup = true
childlogdir = %(ENV_HOME)s/sdaprod/supervisor
strip_ansi = false
[unix_http_server]
file=/tmp/supervisor.sock
chmod = 0777
[supervisorctl]
serverurl=unix:///tmp/supervisor.sock
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
[program:superset]
command = %(ENV_HOME)s/miniconda3/envs/superset/bin/superset runserver
directory = %(ENV_HOME)s/sdaprod
environment = PATH='%(ENV_PATH)s:%(ENV_HOME)s/miniconda3/envs/superset/bin',PYTHONPATH='%(ENV_PYTHONPATH)s:%(ENV_HOME)s/sdacore:%(ENV_HOME)s/sdaprod'
然后你只需从安装了它的环境中运行supervisord
%(ENV_<>)是环境变量。这是我第一次这样做,所以我绝对不能保证这种方法的效率,但确实有效。