[Matlab] controleer lees permissie

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • prometheus345479
  • Registratie: Mei 2005
  • Laatst online: 12-10-2022
Hoi,

is er een manier om te checken of ik lees toegang heb tot een .mat file?

Ik gebruik twee matlab sessies naast elkaar (die uiteindelijk op twee verschillende pc's gaan draaien), de ene sessie schrijft steeds een nieuw bestand van een paar mb weg, en dat bestand wordt door een andere sessie weer uitgelezen.

Nu gebeurt het af en toe dat de ene sessie aan het schrijven is, terwijl de andere sessie probeert te lezen (met load). Als dit gebeurt dan crasht load.

Ik los het nu op met het volgende:

Matlab:
1
2
3
4
5
6
7
8
9
10
11
12
13
      permission = 0;
      while (permission == 0)
        try   
          permission = 1;
          load(file)
        catch
          %if file was inaccessible, wait 1 second and try again
          disp(['Could not read datablock ',num2str(block)])
          disp('Trying again...')
          pause(1)
          permission = 0;
        end;
      end


Kan het niet netter/sneller, dus zonder load te gebruiken, maar op een snellere manier alleen de lees permissie te checken?

Acties:
  • 0 Henk 'm!

  • Vulpecula
  • Registratie: April 2001
  • Laatst online: 12-09 16:14
prometheus345479 schreef op woensdag 13 mei 2009 @ 17:03:
Hoi,

is er een manier om te checken of ik lees toegang heb tot een .mat file?

Ik gebruik twee matlab sessies naast elkaar (die uiteindelijk op twee verschillende pc's gaan draaien), de ene sessie schrijft steeds een nieuw bestand van een paar mb weg, en dat bestand wordt door een andere sessie weer uitgelezen.

Nu gebeurt het af en toe dat de ene sessie aan het schrijven is, terwijl de andere sessie probeert te lezen (met load). Als dit gebeurt dan crasht load.

Ik los het nu op met het volgende:

Matlab:
1
...


Kan het niet netter/sneller, dus zonder load te gebruiken, maar op een snellere manier alleen de lees permissie te checken?
Kun je bij de schrijf sessie ervoor zorgen dat er nog geen extensie wordt toegevoegd aan het bestand en dat nadat het bestand helemaal klaar is net bestand wordt veranderd met een extensie. De lees sessie moet je dan zo aanpassen dat hij alleen bestanden met die extensie oppakt.

Ik heb namelijk ook een keer dit probleem gehad maar dan niet in Matlab maar met Dynamics en StreamServe. Dynamics genereerd xml bestanden maar wanneer deze nog opgebouwd werd ging StreamServe er al mee vandoor. Ik heb dit op dezelfde manier opgelost.

[ Voor 6% gewijzigd door Vulpecula op 15-05-2009 09:06 ]