Comring,PTI ERP配套工具

comring的Python项目详细描述


通信

Comring是Paragon ERP的配套工具。

安装

使用pip安装

pip install comring

ODOO环境配置

系统将从$HOME/.config/odoopti.yaml文件中读取odoo服务器(环境)配置:

environments:live:name:Odoo Liveurl:https://odoo.pti-cosmetics.comdatabase:paragonkind:liveuser:toolboxpassword:secretpasslocal-testing:name:Local Testingurl:http://localhost:8069database:testkind:liveuser:adminpassword:1...

每个环境配置键的说明:

  1. name:名称或标签
  2. url:服务器url
  3. database:要使用的数据库
  4. kind:实现。有效值为:live、spinoff、nbm
  5. user:与服务器通信时要使用的用户
  6. password:用户的密码

网络应用程序

内置flask服务器的开发模式

环境变量

web应用程序使用flask作为引擎,可以设置这些变量来配置应用程序。您可以参考烧瓶文档以获得完整的参考。此项目还使用python dotenv,因此可以创建.env文件以更轻松地设置env vars。三个最重要的变量是:

FLASK_RUN_HOST=0.0.0.0
FLASK_RUN_PORT=5555
FLASK_ENV=development

使用自签名SSL证书运行

要生成自签名的SSL证书:

openssl req -x509 -newkey rsa:4096 -nodes -out cert.pem -keyout key.pem -days 365

将此添加到.env:

FLASK_RUN_CERT=cert.pem
FLASK_RUN_KEY=key.pem

运行开发服务器

要运行Web应用:

flask run

cherrypi的wsgi服务器的生产模式

首次运行webapp:

python3 -m comring.webapp [-a bind_address][-p bind_port]

等待大约3秒钟,然后按ctrl+c停止应用程序。接下来,您需要为此生产服务器生成密钥:

python -c 'import os; print("SECRET_KEY =", os.urandom(16))' > venv/var/comring.webapp-instance/config.py

然后再次运行应用程序。cookie加密现在将使用上面生成的密钥。

性能测试

在本例中,我们将使用apache util的ab测试工具来对web应用程序进行压力测试。

要求

ab可从apache2-utils包获得

sudo apt-get install apache2-utils

运行应用程序

以开发模式或生产模式运行。您还可以测试远程部署的应用程序。

获取session cookie

在浏览器中打开应用程序,然后登录。我们将在ab

中重用浏览器使用的cookie
  1. 打开开发人员工具
  2. 在“应用程序”或“存储”菜单中,搜索Cookie
  3. 复制会话cookie值

运行ab

要将160个请求分成80个并发用户,请执行以下操作:

ab -n 160 -c 80 -C session=<cookie valued copied from browser> -p benchmark/post-invoice-small.data -T 'application/x-www-form-urlencoded' http://localhost:5500/invoice/by_brand

备选方案:围城

创建.siegerc文件以设置服务器地址和登录凭据:

SERVER_URL = http://localhost:5555
login-url = ${SERVER_URL}/auth/login POST environment=live&username=myuser&password=mypassword

调整URL和参数以满足您的需要,然后运行围城:

siege -f benchmark/siege-local-small.txt -b -c 80 -r 2

阅读攻城手册了解更多使用方法。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java为什么整数构造函数方法不再需要属性?   java单函数从广播接收器检索数据   Java类中的Scala设置器和获取器   JAVA MVC表选择的行ID和mysql db ID不同   java在Multimaps Guava中获取值   jakarta ee Intellij IDEA Java类在保存时不自动编译   java在另一个Spring实体中使用Spring实体   JTwitter库的安卓类一直在给我java。朗朗:温特韦尔。杰特维特。啁啾   java停止启动应用程序   java Jersey测试NoSuchMethodError   java如何处理合成元素上的注释   java崩溃shell无法通过ssh连接   java计算两个日期之间的天数后(取自edittext)如何在新的edittext中显示天数