小编wil*_*lfo的帖子

Sqlalchemy session.refresh不刷新对象

我有以下映射(直接来自SA示例):

class User(Base):
    __tablename__ = 'users'

    id = Column(Integer, primary_key=True)
    name = Column(String)
    fullname = Column(String)
    password = Column(String)
Run Code Online (Sandbox Code Playgroud)

我正在使用MySql DB并且该表具有innoDB引擎.

我的表中有一条记录:1 |'user1'|'user1 test'|'password'

我用以下代码打开了一个会话:

from sqlalchemy.orm.session import sessionmaker
from sqlalchemy.engine import create_engine
from sqlalchemy.orm.scoping import scoped_session
from sqlalchemy.ext.declarative import declarative_base

Base = declarative_base()

db_engine = create_engine('mysql://...@localhost/test_db?charset=utf8',echo=False,pool_recycle=1800)
session_factory = sessionmaker(bind=db_engine,autocommit=False,autoflush=False)
session_maker = scoped_session(session_factory)
session = session_maker()

user_1 = session.query(User).filter(User.id==1).one()
user_1.name # This prints: u'user1'
Run Code Online (Sandbox Code Playgroud)

现在,当我将DB中的记录名称更改为"user1_change"并提交它然后刷新对象时,如下所示:

session.refresh(user_1)
user_1.name # This still prints: u'user1' and not u'user1_change'
Run Code Online (Sandbox Code Playgroud)

它仍然打印:u'user1'而不是u'user1_change'.

我在这里错过了什么(或设置错误)?

谢谢!

python sqlalchemy

9
推荐指数
2
解决办法
1万
查看次数

如何在 K8S ingress-nginx 指标中正确记录“路径”

我正在使用ingress-nginx作为运行在 K8S 上的服务之一的入口控制器(我使用的是 nginx-0.20.0 发布映像,在入口控制器使用的 K8S 配置图中没有特定的指标配置)。

nginx-ingress-controller pod 已成功抓取到我的 Prometheus 服务器中,但无论处理请求的真实路径如何,都会nginx_ingress_controller_request_duration_seconds_bucket显示所有入口指标(例如)path="/"

值得注意的是,当我查看入口日志时 - 路径已正确记录。

如何获得导出指标中注明的真实路径?

谢谢!

nginx kubernetes prometheus nginx-ingress

5
推荐指数
1
解决办法
1504
查看次数