我正在尝试使用uWSGI + Nginx设置应用程序webserver,它使用SQLAlchemy运行Flask应用程序与Postgres数据库进行通信.
当我向Web服务器发出请求时,每个其他响应都将是500错误.
错误是:
Traceback (most recent call last):
File "/var/env/argos/lib/python3.3/site-packages/sqlalchemy/engine/base.py", line 867, in _execute_context
context)
File "/var/env/argos/lib/python3.3/site-packages/sqlalchemy/engine/default.py", line 388, in do_execute
cursor.execute(statement, parameters)
psycopg2.OperationalError: SSL error: decryption failed or bad record mac
The above exception was the direct cause of the following exception:
sqlalchemy.exc.OperationalError: (OperationalError) SSL error: decryption failed or bad record mac
Run Code Online (Sandbox Code Playgroud)
该错误由一个简单的Flask-SQLAlchemy
方法触发:
result = models.Event.query.get(id)
Run Code Online (Sandbox Code Playgroud)
uwsgi
正在管理supervisor
,有一个配置:
[program:my_app]
command=/usr/bin/uwsgi --ini /etc/uwsgi/apps-enabled/myapp.ini --catch-exceptions
directory=/path/to/my/app
stopsignal=QUIT
autostart=true
autorestart=true
Run Code Online (Sandbox Code Playgroud)
和uwsgi
配置看起来像:
[uwsgi]
socket = …
Run Code Online (Sandbox Code Playgroud) 我正在开发Flask应用程序并使用Flask-security进行用户身份验证(后面又使用Flask-login).
我有一条需要认证的路线/user
.我正在尝试编写一个单元测试来测试,对于经过身份验证的用户,这会返回相应的响应.
在我的unittest中,我正在创建一个用户并以该用户身份登录:
from unittest import TestCase
from app import app, db
from models import User
from flask_security.utils import login_user
class UserTest(TestCase):
def setUp(self):
self.app = app
self.client = self.app.test_client()
self._ctx = self.app.test_request_context()
self._ctx.push()
db.create_all()
def tearDown(self):
if self._ctx is not None:
self._ctx.pop()
db.session.remove()
db.drop_all()
def test_user_authentication():
# (the test case is within a test request context)
user = User(active=True)
db.session.add(user)
db.session.commit()
login_user(user)
# current_user here is the user
print(current_user)
# current_user within this request is an anonymous …
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用scikit-learn
. 我正在尝试 DBSCAN 和 MeanShift 并想确定哪些超参数(例如bandwidth
对于 MeanShift 和eps
DBSCAN)最适合我正在使用的数据类型(新闻文章)。
我有一些由预先标记的集群组成的测试数据。我一直在尝试使用scikit-learn
'sGridSearchCV
但不明白在这种情况下如何(或是否可以)应用,因为它需要拆分测试数据,但我想对整个数据集进行评估并比较结果到预先标记的数据。
我一直在尝试指定一个评分函数,将估计器的标签与真实标签进行比较,但当然它不起作用,因为只有数据样本被聚类,而不是全部。
这里有什么合适的方法?
我正在使用Amazon Web Services在Elastic Load Balancer后面创建一个自动缩放的应用程序实例组.我正在使用CloudFormation模板来创建自动扩展组+负载均衡器,并且一直使用Ansible来配置其他实例.
我无法解决如何设计问题,以便在新的自动调节实例出现时,它们可以由Ansible自动配置(也就是说,我无需找到新实例的主机名并为其运行Ansible).我查看了Ansible的ansible-pull
功能,但我不太清楚我是否理解如何使用它.它需要一个中央git存储库,它可以处理,但是你如何处理你不想提交的敏感信息?
此外,我使用Ansible与AWS的当前方式是使用CloudFormation模板创建堆栈,然后我将主机名作为堆栈的输出,然后为Ansible生成要使用的主机文件.这感觉不太对 - 这是"最佳实践"吗?
deployment amazon-web-services aws-cloudformation autoscaling ansible
我有一个网络服务器,需要管理一个单独的多进程子进程(即启动它并终止它)。
对于基于 Unix 的系统,以下方法可以正常工作:
# save the pid as `pid`
ps = subprocess.Popen(cmd, preexec_fn=os.setsid)
# elsewhere:
os.killpg(os.getpgid(pid), signal.SIGTERM)
Run Code Online (Sandbox Code Playgroud)
我这样做是os.setsid
因为否则杀死进度组也会杀死网络服务器。
在 Windows 上这些os
功能不可用——所以如果我想在 Windows 上完成类似的事情,我该怎么做呢?
我正在使用Python 3.5。
python ×3
flask ×2
sqlalchemy ×2
ansible ×1
autoscaling ×1
deployment ×1
flask-login ×1
flutter ×1
nginx ×1
postgresql ×1
python-3.5 ×1
scikit-learn ×1
unit-testing ×1
uwsgi ×1
windows ×1