SSH-Modul für Python

8

Ich muss einen Job (mit meinem Webserver) auf einem entfernten Rechner ausführen, der ungefähr 10 Minuten dauert.

Ich habe das pxssh -Modul in Python für das selbe verwendet, aber es gibt mir einen "Zeitüberschreitungsfehler" (nicht blockierend).

Nun benutze ich paramiko , aber das kommt zurück, sobald es die Anweisung gibt.

Ich möchte, dass der Webserver wartet, bis der Job abgeschlossen ist. Gibt es dafür ein Python-SSH-Modul?

Oder

Können wir dasselbe erreichen, indem wir Konfigurationseinstellungen von pxssh oder paramiko ändern?

    
Jatin Kumar 04.07.2011, 09:52
quelle

1 Antwort

9

Sie können die Methode recv_exit_status auf dem Kanal verwenden, um zu warten Damit der Befehl abgeschlossen wird:

  

recv_exit_status (selbst)

     

Geben Sie den Exit-Status aus dem Prozess auf dem Server zurück. Dies ist hauptsächlich nützlich, um die Ergebnisse eines exec_commands abzurufen. Wenn der Befehl noch nicht beendet ist, wartet diese Methode bis zum Abschluss oder bis der Kanal geschlossen wird. Wenn vom Server kein Exit-Status bereitgestellt wird, wird -1 zurückgegeben.

Zum Beispiel:

%Vor%     
ars 04.07.2011, 10:13
quelle