Neues Thema starten

Zugriff von mehreren Rechnern auf den Speicher

 Hallo zusammen,
hat schon mal jemand versucht mit 2 Rechnern gleichzeitig auf einen TSE-Speicher zuzugreifen? Man kann ja mehrere Klienten am TSE anmelden. Ist es auch möglich gleichzeitig mit 2 Kassenrechnern auf einen TSE-Speicher zu schreiben?
Ich habe den TSE-Speicher am zweiten Rechner als Netzlaufwerk eingebunden. An beiden Rechnern funktioniert der separate Zugriff auf den Speicher problemlos.
Sobald ich aber versuche an beiden Rechnern gleichzeitig auf den Speicher zuzugreifen erhalte ich am zweiten Rechner bereits beim worm_init einen IO-Error. Hat jemand einen Tipp wie ich mit mehreren Rechnern einen gemeinsamen TSE-Speicher nutzen kann, oder muss tatsächlich für jeden Kassenrechner ein eigener Speicher bereitgestellt werden?

Danke und VG
Markus


 Hallo,


das Verhalten konnten wir genauso nachvollziehen.

Nach dem ersten worm_init schlagen weitere worm_init-Aufrufe fehl.

Soweit ich das testen konnte, erfolgt der Zugriff auf die TSE intern mittels schnödem File-I/O über die Dateien, die auf der TSE im Root-Verzeichnis residieren. Dafür muß der Zugriff exklusiv erfolgen.

(Mit dem Process Explorer von Sysinternals/MS kannst du das nachvollziehen, falls es dich interessiert.)

Unsere Lösung:

Wir erlauben weiterhin den Zugriff von mehreren Rechnern/Programmen.

Falls das worm_init fehlschlägt legen wir den Process 100 ms schlafen und starten dann einen erneuten Versuch bei insgesamt 20 Versuchen.

Im Extremfall (bei einem "echten" Fehler) dauert das dann eben 2 s bis das Init "nach außen" fehlschlägt.

Die Zeit müßte für die meisten (Trans-)Aktionen reichen, bei vielen Zugriffen muß man die Zeit gegebenenfalls verlängern oder dann doch weitere Hardware benutzen.

Was wirklich lange dauert ist der Export. Aber da ist die TSE ja auch tatsächlich für andere gesperrt...


MfG Henrik Petzold


Hallo zusammen.

Das das gehen soll wundert mich. Ich habe bereits im November die gleiche Frage gestellt. Da wurde mir von Herrn Till wie folgt geantwortet:


Mirco Till am Mo, 25 Nov, 2019 at 9:19 PM

 

Sehr geehrte(r) Jürgen Henning,

Die SWISSBIT-TSE als Netzlaufwerk verteilen klappt nicht so einfach. Man könnte einen "Connector", der auf die TSE zugreift im Netzwerk bereitstellen, und dieser eine Process greift auf die TSE zu, aber nicht einfach indem man parallel auf ein Netzlaufwerk zugreift. Die TSE in streng single threaded, um die Synchronisation von mehreren Threads muss sich die Kassensoftware kümmern.


Sie können den Status Ihres Tickets auch hier einsehen: https://support.gastro-mis.de/public/tickets/768a661f9fdaf1d35cafedca4c0f453e34b7b8346f80c8932c8239db06a24e23


Wenn die swissbit TSE wirklich single-threaded arbeitet, dürfte es doch garnicht möglich sein 2 Arbeitsplätze gleichzeitig auf die TSE zugreifen zu lassen...


MfG

Jürgen Henning

Hallo Jürgen,
das wäre natürlich ein Hammer.
Wenn ich mal von Windows ausgehe: Jede Client-Software benutzt ihre eigene WormAPI.dll.
Diese sollte beim File-I/O das Laufwerk exklusiv sperren (was ja bei allen Betriebssystemen im Netzwerk heutzutage ohne weiteres möglich ist).
Dann  sollte es maximal Timeouts beim Zugriff hageln - die kann man ja behandeln.
Ein anderes Argument: Falls das nicht geht, kann man sich das ganze "Geraffel" mit Kassenanmeldung/-verwaltung sparen.
Da sollte wirklich mal eine offizielle Aussage kommen...Das gehört auch in die API-Doku.

MfG Henrik Petzold

Anmelden oder Registrieren um einen Kommentar zu veröffentlichen