Hogyan tudnám elkerülni, hogy két script, ami egy fájlba írogat össze akadjon?
Nem tudom mi az, hogy "nagyobb adatbáziskezelő". Ha már fenn van az Apache, akkor igazán felrakhatnád a mysql-t is és akkor szerver oldali szkriptekkel meg tudnád oldani.
Tényleg elég gáz, hogy ugyanazt a file-t használja több program is.
Meg lehet oldani file-lal is, de neked kell MINDENT leprogramoznod, amit egy adatbáziskezelő (legyen az akár csak egy SQLite) alapból tud.
Az mitől könnyebb, mint egy kész, megbízható, tesztelt szoftvert használni?
"Application File Format. Rather than using fopen() to write XML, JSON, CSV, or some proprietary format into disk files used by your application, use an SQLite database. You'll avoid having to write and troubleshoot a parser, your data will be more easily accessible and cross-platform, and your updates will be transactional. (more...)"
"Két (jelenleg python) script futna a gépen egyidőben, mindkettő egy szöveges fájlt használna adatbázisként. Egyértelmű, hogy ha az egyik épp matat a fájlban, a másik sírni fog, hogy nem fér hozzá. "
Ez nem így megy.
Lockolni kell a file-t és kész. Olvasásra bármelyik hozzáfér egyazon időben, írásra meg lockolod és természetesen csak addig, amíg az írás megkivánja. Ez egy gyenge szerveren is uSec.-es nagyságrend.
#6: Ez közel sem ennyire triviális, csak nem értesz hozzá (életedben nem írtál 10 sornál hosszabb programot), és így nem látod át a problémát.
Eleve meg kell különböztetni read és write lockot, bármilyen hatékonyságot akarsz, ráadásul ha nő a fájl meg a processzek száma és az egészet lockolni kell, akkor korántsem lesz olyan villámgyors az elérés.
Nem vezet az egész sehova, sokkal hasznosabb, ha megtanul valamilyen adatbáziskezelőt használni, messzebbre vezet.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!