Thread Storable->retrieve parallel aus einem weiteren Programm? (12 answers)
Opened by toby at 2009-09-30 15:28

pq
 2009-10-01 11:38
#126380 #126380
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
2009-10-01T09:05:29 toby
Meine angedachte Vorgehensweise nach Tipps von pq war lock_nstore() beim A.pl und lock_retrieve() bei B.pl. Da ich mich aber mit dem Lock- und Store-Verhalten bei unabhängigen, parallelen Zugriffen nicht auskenne habe ich nun doch noch folgende Sorgen:

hast du perldoc -q lock gelesen?

Quote
Was macht A.pl, wenn es schreiben möchte und die Datei gerade vom B.pl für Lesen ge'lock'ed ist? Der deamon (A.pl) darf nie Probleme haben über die Datei zu verfügen,

was meinst du mit problemen? der prozess wartet halt, bis er dran ist. das handelt sich ja im schlimmsten fall nur um millisekunden.

Quote
Natürlich wäre es am schönsten, wenn weder A.pl noch B.pl Probleme bekommen. Da ich aber nicht weiss, wie sich gleichzeitiges lock_retrieve() vom B.pl und lock_nstore() vom A.pl verhält, ist mein aktueller Plan lock_nstore() bei A.pl und normales retrieve() bei B.pl mit der Gefahr, dass B.pl evtl. zerschnittene Daten erhält. Was meint ihr darüber?

warum?
glaubst du, ich gebe dir einen tip, damit du probleme bekommst? wenn du ein *normales* retrieve nimmst, *dann* kriegst du probleme, weil es sein kann, dass die datei gerade geschrieben wird.
ich kapier nicht, wieso du jetzt alles vorherige fallen lässt und dir irgendwas ausdenkst, was deiner meinung nach sicherer sein könnte.
file locking ist das, was du willst, und wenn du nur die hälfte davon benutzen willst, wird es halt schief gehen. ich kann dich natürlich nicht zwingen, mir zu glauben.

Quote
=> Wenn A.pl mit lock_nstore() wartet, bis lock_retrieve() von B.pl fertig ist, wäre alles OK, wie läuft es aber tatsächlich ab? Wie gesagt, das Wichtigste ist, dass A.pl problemlos reinschreiben darf!

lies die doku!
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem

View full thread Storable->retrieve parallel aus einem weiteren Programm?