【问题标题】:django daemon fails to read database updatesdjango 守护进程无法读取数据库更新
【发布时间】:2014-07-18 10:01:56
【问题描述】:

我写了一个小守护程序脚本,它将检查模型(Foo)字段的状态,如果它是 0 则更新另一个模型(Bar),如果它是 1 则不做任何事情。

守护进程运行良好,如果模型状态为 0,它会按照我们的预期进行更新。

请从这里找到脚本的链接:click

但是一旦我们启动守护程序脚本,它就无法读取之后的数据库更改。 意思是,在守护进程开始运行后,即使在状态为 0 的模型 Foo 中创建了一个对象,守护进程也无法读取它,因此模型 Bar 没有按预期更新。

我该如何解决这个问题?

【问题讨论】:

标签: python django django-orm python-daemon


【解决方案1】:

根本问题是,在随后的守护进程检查中,数据库状态与守护进程启动时相同。

我从这个link 得到了解决方案的提示。

在每个 orm 查询之前,我重置了连接,现在 orm 正在读取更新的数据库。

def reset_database_connection():  
    from django import db  
    db.close_connection() 

【讨论】:

    猜你喜欢
    • 2015-10-22
    • 2018-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-13
    • 1970-01-01
    相关资源
    最近更新 更多