NEWS
[gelöst]FTP Script lässt Javascript Instanz neu starten
-
Hi,
ich habe mir ein kleines Script gebaut um Dateien auf einem FTP zu Zählen.Dabei habe ich das PRoblem, wenn ich zb CWD oder list mache und ein Verzeichnis nicht existiert, dann startet die Javascript Instanz neu.
Kann ich das irgendwie abfangen?
Zum Hintergund, ich will im Takt überwachen ob neue Dateien in ein bestimmtes Verzeichnis gekommen sind und dann eine Anzeige im VIS machen.
DAfür muss ich in das Verzeichnis wechseln udn irgendwie die Dateien Zählen.
Aber es kann auch sein, dass es das Verzeichnis noch nicht gibt und ich möchte dann halt nicht ejdesmal die JS Instanz neu startenEs handelt sich um das FTP script dass hier in einigen Threads schon behandelt wurde:
var c = new Client(); c.on('ready', function() { c.cwd(subfolder,function(err, data) { if (err) throw err; }); c.list(function(err, list) { if (err) throw err; else{ //console.log(list); setState("javascript.0.Alerts.filelist", list); } c.end(); }); }); // connect to localhost:21 as anonymous //c.connect(); //Bei connect musst du dann ggf deine daten einfügen z.B. c.connect({ host: "fritz.box", user: "xxxxxxxx", password: "rxxxxxxxx" });
-
Das Passwort würde ich rausnehmen...
-
@thomas-braun damn, ja danke!
-
@jmeister79 in einem callback benutzt man kein throw(), nimm stattdessen
if(err) log(err);
-
@fastfoot ja das wohl geholfen.
Interessanterweise spinnt Grad der ja Adapter. Stürzt wegen jedem killefitz ab. Ich bin eigentlich gewohnt, dass der Editor das abfängt. -
@jmeister79 sagte in FTP Script lässt Javascript Instanz neu starten:
@fastfoot ja das wohl geholfen.
Interessanterweise spinnt Grad der ja Adapter. Stürzt wegen jedem killefitz ab. Ich bin eigentlich gewohnt, dass der Editor das abfängt.eine exception(throw() ) ist kein killefitz, wenn sie nicht abgefangen wird dann stoppt der Code, im schlimmsten Fall crasht der Adapter. Im obigen Fall kann man exceptions innerhalb von callbacks aber nicht ausserhalb abfangen weshalb man sie dort nicht nutzt.
nach meiner Erfahrung mit dem Adapter ist aber ein Absturz immer ein Problem eines Skriptes.
-
@fastfoot das meinte ich ja auch nicht.
Normalerweise ist es ja so, dass wenn ich ein script bearbeite und es speichere es nicht ausgeführt wird wenn fehler drin sind.
Das passiert selsbt bei Hello World mit einem Typo im log befehl.
Das tut er aber nun und bringt damit die instanz zum Absturz.
Ich wundere mich nur über das geänderte verhalten. -
@jmeister79 sagte in FTP Script lässt Javascript Instanz neu starten:
Das tut er aber nun und bringt damit die instanz zum Absturz.
das würde ich gerne als script sehen!
-
log(kille"fitz");
ist offensichtlich n Fehler.
bringt die Instanz zum Absturz.
auf meinem Lifesystem passiert aber das:
18:13:14.657 error javascript.0 (3365) script.js.Alerts.Skript_1 compile failed: at script.js.Alerts.Skript_1:1
so wie es soll
-
@jmeister79 sagte in FTP Script lässt Javascript Instanz neu starten:
log(kille"fitz");
dann wäre zu prüfen wo denn die Unterschiede sind. Ich kenne nur das Verhalten mit compile failed, und zwar auf all meinen Systemen, stable, beta, diverse node versionen
-
@fastfoot neustart wirkt wunder.
hab ihn wohl zu sehr genervt.
danke für die hilfe, auf jeden fallw ar der hinweis mit throw wertvoll
-
kann man mit try catch die "caught by controller" einträge fangen?
Ich möchte nicht dass der js controller abstürzt...
-
@jmeister79 sagte in FTP Script lässt Javascript Instanz neu starten:
kann man mit try catch die "caught by controller" einträge fangen?
Ich möchte nicht dass der js controller abstürzt...
geht es auch konkreter?
-
@jmeister79 sagte in FTP Script lässt Javascript Instanz neu starten:
kann man mit try catch die "caught by controller" einträge fangen?
Ja. Das was du meinst, sind diejenigen Fehler, die nicht anderweitig behandelt wurden und die der JS-Controller "findet" und meldet.
Ich möchte nicht dass der js controller abstürzt...
Tut er nicht, das ist ein anderer Prozess.