django多人不能同时调用执行同一个函数怎么解决?

CSDN问答 2021-12-30 12:00:00 阅读数:399

django 不能 调用 多人 时调
问题遇到的现象和发生背景

前端调用视图里一个生成文件并压缩的函数,如果两个人同时调用这个函数请求就报错:另一个程序正在使用此文件,进程无法访问

问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法

想过用多线程,可那是不同的函数同时运行
能不能用类,实例化成不同的名字再加入线程池? 有类似的DEMO吗?
或者有其他的东西可以解决

我想要达到的结果



采纳答案:

那这些PNG文件的后续使用是啥?
考虑下按用户名及时间戳命名PNG文件。避免线程同时写同一个文件。
如果文件不需要长期保存,可以考虑做个任务,定时清理非本日或者24小时前的文件。



其他答案2:

是生成文件名相同造成的吧? 尽量把未问题简单化。
把这个调用做的事情, 简单描述一下, 我猜测是同时访问一个文件造成的。


其他答案3:

从你给代码, p1 和p2的资源应该不冲突呀。 如果p1 和 p2 都写 1.txt ,那就冲突了。

如果有同时很多的线程要同时写 1.txt 和 2.txt ,那就会照成冲突?

版权声明:本文为[CSDN问答]所创,转载请带上原文链接,感谢。 https://ask.csdn.net/questions/7617226