我有小型Django应用程序。在每个请求期间,我想收集一些请求数据(来自自定义中间件和一些视图)并将其附加到文件中。由于应用程序在多线程环境中运行,我希望append是线程安全的。
我做过一些研究,但大多数时候人们推荐芹菜。由于应用非常小,我想避免使用芹菜。我可以使用简单的文件锁定,但是,我不知道如何使用Django实现它,我不直接管理主线程。
我唯一发现的是this Django的模块,但我不确定它是否能解决我的问题。我可以简单地从我的中间件运行代码的安静吗?
from django.core.files import locks
with open('./file', 'wb') as f:
locks.lock(f, locks.LOCK_EX)
f.write('Django')