![]() |
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问题。 以下是根据我的情况修改的解决方案: 代码
下面是我修改的
现在附加的
这将把锁放在一个名为
最后,用法与以前基本相同:
这就是我现在使用的实现,它的接缝工作得非常好。感谢所有为实现这一目标做出贡献的人。 |
![]() |
Patrick Bond · 如何将模型中的函数结果添加到列表中? 6 月前 |
![]() |
bur · 每次从模板调用方法都会查询数据库吗? 6 月前 |
|
Stefan · 在子目录中设置Django 6 月前 |
![]() |
vale383 · 如何在Django端点中查找user_id 6 月前 |
![]() |
Kovy Jacob · Django在动态URL段中添加斜线 7 月前 |
![]() |
user987 · 如何在Django中访问提交的表单请求数据 7 月前 |
![]() |
user24242514 · 将嵌套查询字符串请求转换为字典 7 月前 |