Kezdőoldal » Számítástechnika » Programozás » Hogyan tudnám elkerülni, hogy...

Hogyan tudnám elkerülni, hogy két script, ami egy fájlba írogat össze akadjon?

Figyelt kérdés
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á. Hogyan tudom a leghatékonyabban megoldani, hogy a későn érkező várjon addig, amíg sorra kerül? (Gondoltam a PHP-re, fogalmam sincs, hogy ő tudja e ezt kezelni. Mármint webes felület amúgy is fog kelleni, a python scriptek is átadhatnák az adatokat egy php-nek és ő rögzítené)
2018. ápr. 11. 18:54
 1/8 A kérdező kommentje:
Nem akarok nagyobb adatbáiskezelőt telepíteni ha nem szükséges. A Python és az Apache+PHP alapból kelleni fog, ezért örülnék, ha első sorban ezekből tudnék dolgozni. De ha nem, hát nem.
2018. ápr. 11. 19:09
 2/8 anonim ***** válasza:

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.

2018. ápr. 11. 19:17
Hasznos számodra ez a válasz?
 3/8 anonim ***** válasza:

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?

2018. ápr. 11. 19:31
Hasznos számodra ez a válasz?
 4/8 A kérdező kommentje:
Szóval nagy meló... Oké. Köszi!
2018. ápr. 11. 19:38
 5/8 anonim ***** válasza:

[link]


"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...)"

2018. ápr. 11. 19:42
Hasznos számodra ez a válasz?
 6/8 anonim ***** válasza:

"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.

2018. ápr. 11. 23:27
Hasznos számodra ez a válasz?
 7/8 anonim ***** válasza:
0%

#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.

2018. ápr. 12. 09:18
Hasznos számodra ez a válasz?
 8/8 anonim ***** válasza:
Író-olvasó minta, sajnos nem ismert egyszerűbb módszer.
2018. ápr. 12. 17:48
Hasznos számodra ez a válasz?

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!