火山气体监测系统数据采集服务库
tlr的Python项目详细描述
tlr公司
概述
tlr
是一个作为VOGAMOS(火山气体监测)服务的包
系统)数据采集。它监听来自telnet服务器的数据,解析
数据,并将其存储到数据库服务器。在
部署指南
从GitLab存储库服务器克隆项目:
git clone https://gitlab.com/bpptkg/tlr.git
然后,将目录更改为tlr根目录:
^{pr2}$首先,安装Python虚拟环境、pip和MySQL库:
sudo apt install python-virtualenv python3-pip python3-dev libmysqlclient-dev
制作Python虚拟环境并激活虚拟环境:
virtualenv -p python3 venv
source venv/bin/activate
安装所有程序包要求:
pip install -r requirements.txt
然后,从.env.example
文件复制项目设置:
cp .env.example .env
设置一些重要的设置,包括DATABASE_ENGINE
,TELNET_HOST
,
TELNET_PORT
、TELNET_TIMEOUT
、和{DEBUG
如果在生产环境中使用,则返回False
。在
如果数据库表尚未迁移,则可以通过 执行此命令:
./bin/migrate
安装监督员。我们将使用它来监视脚本守护进程:
sudo apt install supervisor
从supervisor/
目录复制Supervisord tlr配置:
sudo cp supervisor/tlr.conf /etc/supervisor/conf.d/
根据需要编辑/etc/supervisor/conf.d/tlr.conf
:
[program:tlr]
directory=/path/to/tlr
command=bash -c "source /path/to/tlr/venv/bin/activate && /path/to/tlr/run.py"
autostart=true
autorestart=true
stdout_logfile=/var/log/supervisor/tlr.log
stderr_logfile=/var/log/supervisor/tlr_error.log
environment=LANG=en_US.UTF-8,LC_ALL=en_US.UTF-8
[group:tlr]
programs:tlr
在上面的配置中,我们使用以下命令启动服务:
bash -c "source /path/to/tlr/venv/bin/activate && /path/to/tlr/run.py"
它将在Python虚拟环境中启动服务,并确保 我们只有一个进程在运行。在
重读并更新主管配置:
sudo supervisorctl reread
sudo supervisorctl update
您可以通过运行以下命令查看主管状态:
sudo supervisorctl status
最后,监视数据库是否存储了数据。在
监控错误
如果发生任何错误,您可以在中的日志文件中看到该错误
storage/logs/tlr.log
(如果使用自定义,日志记录目录可能不同
LOGGING_ROOT
),来自管理日志(/var/log/supervisor/tlr_error.log
),或
来自Sentry
网络界面。在
从Supervisord查看错误日志基本上有助于调试与系统相关的错误 错误。除此之外,建议从哨兵网查看进行跟踪 应用程序级别的错误。在
应用代码更新
首先,通过ssh
或任何其他方式进入部署服务器。然后,拉
来自GitLab存储库的更新:
cd /path/to/tlr/
git pull
重新启动tlr服务:
sudo supervisorctl restart tlr
如果您曾经在/etc/supervisor/conf.d/tlr.conf
中修改tlr配置,则
必须重新阅读和更新服务:
sudo supervisorctl reread
sudo supervisorctl update
开发人员参考
在克隆项目并创建Python虚拟环境之后,安装所有 开发包要求:
pip install -r dev-requirements.txt
在将更改提交到GitLab存储库之前,请在
tests/
目录。您可以运行所有单元测试,看看您的测试是否已通过
运行pytest
命令:
pytest
主脚本入口点是run.py
。您可以通过执行以下命令来运行脚本
命令:
python run.py
请注意,您必须在Python虚拟环境中运行脚本。在
安装tlr库
如果要访问tlr API,可以从PyPI安装包:
pip install -U tlr
示例:
^{pr21}$输出:
[{'temperature': 56.92}]
贡献
请参阅CONTRIBUTING.md
以了解如何为该项目作出贡献。在
支持
该项目由Indra Rudianto负责维护。如果你对 这个项目,你可以联系他在indrarudianto.official@gmail.com。在
许可证
通过为项目捐款,您同意您的捐款将 根据麻省理工学院的执照授权。看到了吗 LICENSE了解详细信息。在
- 项目
标签: