Prüfen ob Fax (Tif-Datei) vollständig angekommen ist

Lyreex

Aktives Mitglied
Hallo zusammen,

ich hab da mal ne Frage.
Es ist so das bei meinem Raspberry Pi mit Hylafax Faxe angekommen. Das funktioniert jetzt auch gott sei dank 😀
Jetzt möchte ich die TIF-Datei die angekommen ist weiter verarbeiten.
Aber leider verarbeitet der die bevor das Fax vollständig angekommen ist.
Aktuell ruf ich auf der Datei dann die CanWrite() Methode von File auf. Da aber leider kein Prozess draufzugreift bekomm ich immer true zurück.

Ich hab mir auch schon überlegt die File Größe rauszulesen und dann einfach 2 Sekunden warten und wenn die File größe dann immer noch gleich groß ist dann ist die abgeschlossen. Leider dauert das immer etwas unterschiedlich wie lange es dauert bis sich die File größe aktualisiert.

Hat da jemand vielleicht noch eine andere Idee wie ich das sinnvoll und elegant Lösen könnte?
Gibts eine Möglichkeit die Filegröße zu kennen bevor die Datei fertig geladen ist?
 
Das scheint mir eher eine Frage zu Hylafax zu sein: was muss ich tun, damit ein Fax erst verarbeitet wird, nachdem es vollständig empfangen wurde?
 
Ahh okay das war mein Fehler sorry.

Also mein Java Programm läuft Permanent (das ist auch so gewollt) und checkt ob in dem Ordner, in dem die Faxe ankommen, eine TIF-Datei liegt. Wenn dort eine TIF-Datei liegt, dann soll diese verarbeitet werden.

So ist Hylafax und mein Java Programm voneinander unabhängig.
Hylafax wird auch nur verwendet um die Faxe zu empfangen. Läuft ebenfalls permanent, denn es könnte ja immer ein Fax ankommen. Trotzdem haben die zwei nix miteinander zu tun.

Beim Fax ist es ja so, dass die nach und nach ankommt, so dass die Verarbeitung beginnt, bevor das Fax komplett angekommen ist.
Wenn ich wüsste wie groß die Datei ist, wenn sie komplett angekommen ist, dann könnte ich da darübe steuern, wann die Verarbeitung beginnen soll. So war mal die Idee.
 
Ha.
Ich dachte es hätte eine Datei Endung.

Und schon funktioniert es 😀

Für die Nachwelt:
/bin/cp $FILE /some/place
In die FaxDispatch schreiben.
/some/place durch den Pfad ersetzen wo es hingespeichert werden soll.


Danke für eure Hilfe ! 🙂
 
Hm ich hab noch ein Problem mit dem Hylafax und dem FaxDispatch.

Ich hab jetzt Hylafax auf einem Laptop installiert (aufm aktuellen PI wars zu langsam will mir noch den 4er Pi besorgen aber der ist ja überall ausverkauft -.-).

Das installieren hat soweit funktioniert. Auch das Einrichten hat auf Anhieb funktioniert. Aber die FaxDispatch will er nicht mehr nehmen.
Das heißt: Es kommen Faxe an im /var/spool/hylafax/revcq/ Ordner aber er verschiebt sich nicht.
Meine FaxDispatch liegt unter /etc/hylafax hat keine Dateiendung.
In der FaxDispatch steht folgendes drin:
/bin/cp $FILE /home/firenaviserver/faxin

Hab schon 2 mal neugestartet.
Jemand eine Idee wieso er die FaxDispatch nicht lädt?
 
Uh das ist ein gutes Stichwort. Sowas vergesse ich gerne unter Linux.

Die FaxDispatch hat einen chmod 777 bekommen 😀
Welche Ordner sollten noch eine Berechtigung bekommen?
Oder muss ich dem Hylafax ein Benutzer zuweisen?
 
Naja, generell ist es halt so, dass der Benutzer des Prozesses entsprechende Rechte haben muss. Je nachdem, wie Hylafax arbeitet, kann ein Leserecht auf die Datei genügen.
 
Jo das wars ich danke dir!!!

Was ich gemacht hab:
sudo chown uucp /home/firenaviserver/faxin (also der Pfad von der FaxDispatch)
 

Zurück
Oben