超级生产

时间:2018-01-15 03:22:46

标签: superset

我一直在努力研究如何最好地制作超集,或者至少让它在守护进程中运行。我创建了一个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

我遇到的最后一个错误是无法找到枪炮。我不知道我还缺少什么,还是有另一种方法来设置它?

由于

1 个答案:

答案 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_<>)是环境变量。这是我第一次这样做,所以我绝对不能保证这种方法的效率,但确实有效。