Comment résoudre le problème que plusieurs personnes de Django ne peuvent pas appeler et exécuter la même fonction en même temps?

Questions et réponses du rseoc 2021-12-30 12:02:06 阅读数:525

comment soudre le probl que
Le phénomène rencontré par le problème et le contexte dans lequel il s'est produit

Une fonction dans la vue d'appel frontale qui génère des fichiers et les compresse,Si deux personnes appellent cette fonction en même temps, une erreur est signalée:Ce fichier est utilisé par un autre programme,Processus inaccessible

Codes liés au problème,Ne collez pas la capture d'écran
Résultats de l'opération et contenu du rapport d'erreur
Mes idées de solution et les méthodes que j'ai essayées

J'ai pensé à Multithreading,Mais c'est une fonction différente qui fonctionne en même temps
Peut - on utiliser la classe,L'Instance se transforme en un nom différent et rejoint le pool de Threads? Il y a quelque chose de similaireDEMOC'est ça??
Ou quelque chose d'autre à résoudre

Le résultat que je voulais



Adopter les réponses:

Voilà.PNGQuelle est l'utilisation ultérieure du fichier?
Pensez à nommer par nom d'utilisateur et horodatagePNGDocumentation.Évitez que les Threads écrivent le même fichier en même temps.
Si le fichier n'a pas besoin d'être sauvegardé à long terme,On pourrait envisager une mission,Nettoyage programmé non courant ou24Le dossier de l'heure précédente.



Autres réponses2:

C'est dû au même nom de fichier généré? Essayez de simplifier les choses sans problème.
Ce qui fait cet appel, Décrivez brièvement, Je suppose que l'accès simultané à un fichier a causé.


Autres réponses3:

De vous donner le Code, p1 Etp2Les ressources ne devraient pas entrer en conflit. Sip1 Et p2 Écris tout. 1.txt ,C'est un conflit..

S'il y a beaucoup de Threads à écrire en même temps 1.txt Et 2.txt ,Ce serait un conflit?

版权声明:本文为[Questions et réponses du rseoc]所创,转载请带上原文链接,感谢。 https://primo.wiki/2021/12/202112272047586660.html