1
1
根据您所描述的,假设多个Apache进程是问题的根源似乎是合理的。如果将Apache限制为单个工作进程,您是否能够复制它? 也许本文中的建议有助于: How to lock a critical section in Django? 另一种方法是使用队列。您只需将要保存的对象粘贴到队列中,然后让另一个进程进行实际保存。这样就可以保证对象是按顺序处理的。如果您的应用程序依赖于在返回响应时保存对象,那么这不会很好地工作,除非您还让请求进程等待结果(例如,观察完成的队列)。 更新 您可能会发现此信息很有用。Dumpleton先生在列出考虑因素方面做得比我在这里总结的要好得多: http://code.google.com/p/modwsgi/wiki/ProcessesAndThreading http://code.google.com/p/modwsgi/wiki/ConfigurationGuidelines 特别是 定义流程组 第节。 http://code.google.com/p/modwsgi/wiki/QuickConfigurationGuide 委派到守护进程 部分 http://code.google.com/p/modwsgi/wiki/IntegrationWithDjango 在页面底部查找以以下内容开头的文本部分:
读到最后一页。 |
2
1
我找到了一个我认为可行的解决方案:
它不会像 that decorator 到目前为止,我还没有再看到错误。 除非有人能说这不是一个正确的解决方案,否则我认为这是可行的。 更新The accepted answer 是这种变化的灵感。
我缝了我的印象,锁是某种特殊的巫术,是正常逻辑豁免。这里
为此,我需要一个中央锁,但是如果没有线程一直在运行的话,这会不会成功呢?答案是使用文件锁 this answer 接受答案中提到的stackoverflow问题。 以下是根据我的情况修改的解决方案: 代码
下面是我修改的
现在附加的
这将把锁放在一个名为
最后,用法与以前基本相同:
这就是我现在使用的实现,它的接缝工作得非常好。感谢所有为实现这一目标做出贡献的人。 |
KWunsch · Django没有将pk引入模板 1 年前 |
4SadMemeXD · 无法在Django中选择相关类别 2 年前 |
Programming Hints · 如何检查日期是否过期? 2 年前 |
LuizGTVSilva · 从Django表单恢复数据 2 年前 |
Mike Vlad · Django泛型类视图模型更改 6 年前 |