python - Cross-platform kooperativ fil låsning gennem link/mappe oprettelse?

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg vil gerne implementere en kooperativ fillåsemekanisme i Python, det ville også arbejde på fjernpartitioner (f.eks. NFS) med en simpel kode (jeg vil undgå at bruge et tredjepartsmodul, fordi jeg vil have nogle specifikke open source-kode at ikke have afhængigheder).


Der er løsninger derude, der ser relativt tværgående platform ud, men de er mere komplicerede end jeg kunne godt lide: ideelt set ville de nøjagtige samme linjer køre på alle platforme. [1]


En løsning er at bruge nogle atomoperationer , der forsøger at oprette en lås og mislykkes, hvis den ikke kan (for eksempel en lås i form af en mappe). Oprettelse af en katalog er atomisk på Unix, så det er et godt første skridt. Nu Hvad ville være en tilsvarende løsning til Windows ? Jeg har læst et sted, der måske skaber et link (hvordan?) ville være atomisk, hvis at oprette en mappe er atomisk på Windows, ville det være endnu bedre, da den samme kode kunne bruges til både Windows og Unix, men jeg kan ikke finde ud af om dette er tilfældet. [2]


For at opsummere : Hvad ville være en enkel , tværplatform Python kode frigivelse) en kooperativ fillås , der også virker på fjernpartitioner? Vejledningen til oprettelse af kataloger ser lovende ud, men fungerer det på Windows?

Bedste reference