2016-07-11 18 views
0

Ich arbeite an einer azurblauen Web-App und innerhalb der Web-App verwende ich Python-Code, um eine EXE-Datei auszuführen. Die Webanwendung erhält bestimmte Eingaben (Zahlen) vom Benutzer und speichert diese Eingaben in einer Textdatei. Danach würde eine EXE-Datei laufen und die Eingaben lesen und eine andere Textdatei erzeugen, die "Ergebnisse" genannt wird. Das Problem ist, dass, obwohl der Code funktioniert gut auf meinem lokalen Computer, wie soos, wie ich es auf azur setze, wird die EXE-Datei nicht durch die folgende Codezeile ausgelöst werden:Ausführen einer EXE-Datei auf dem Azure

subprocess.call('process.exe',cwd = case_directory.path, shell= True) 

Ich habe sogar versucht, die exe ausgeführt werden manuell in Azure manuell von den Visual Studio-Teamdiensten (war Visual Studio Online) über die Option "Von Konsole aus ausführen" Es hat einfach nichts getan. Ich würde mich freuen, wenn mir jemand helfen kann.

+1

Stellen Sie sicher, dass Sie den vollständigen Dateipfad hinzugefügt haben, andernfalls geben Sie weitere Details an. – ajsp

+0

Ich bin sicher über den Pfad und auch wie gesagt, wenn ich die exe-Datei von Consol aufruft funktioniert es auch nicht. Die gleiche Datei funktioniert und erzeugt die TXT-Datei, wie es auf meinem lokalen Computer tun soll. –

+0

Zeigen Sie, was Sie getan haben, geben Sie so viele Details wie möglich ... Wenn Sie eine vage Frage stellen, können Sie nur vage Antworten erwarten. – ajsp

Antwort

0

Haben Sie sich mit einem WebJob zu Host \ Run Ihre ausführbare Datei aus gesehen? Ein WebJob kann praktisch jede Art von Skript sein oder eine ausführbare Datei gewinnen. Es gibt eine Reihe von Möglichkeiten, Ihren WebJob auszulösen. Über die Schnittstelle Kudu erhalten Sie auch eine Menge Überwachung und Logging kostenlos.

0

@ F.K Ich suchte einige Informationen, die für Sie hilfreich sein können, siehe unten.

  1. Accroding zum Python-Dokument für subprocess Modul, Using shell=True can be a security hazard. Bitte beachten Sie die Warnung unter Frequently Used Arguments für weitere Einzelheiten.
  2. Es gibt einen Kommentar in der article, die eine Richtung für das Problem gab, sehen Sie bitte den Screenshot unten.

enter image description here

jedoch normalerweise die empfohlene Weg, um Ihre Bedürfnisse zu befriedigen verwendet Azure Queue & Blob Speicher & Azure WebJobs die Eingabedatei in eine Speicherwarteschlange zu speichern, und die Handhabung der Dateien bekam aus der Warteschlange und Speichern Sie die Ergebnisdateien durch einen fortlaufenden Webjob im Blobspeicher.

+0

Danke für die tolle Antwort. Wirklich geholfen –

+0

@ F.K Irgendwelche Aktualisierung? –

+0

Ich lerne über die Wejobs. Das Problem, das ich habe, ist, dass die exe-Datei, die ich habe, die Eingabe Textdatei nur in einem eigenen Verzeichnis sucht und auch das Ergebnis im selben Verzeichnis erzeugt, so dass es Probleme beim Speichern der Eingaben in der Warteschlange und auch das Ergebnis im Blob macht Lager. –