Преглед на файлове

Show errors when stopping a process on the web interface

Mike Naberezny преди 9 години
родител
ревизия
d542cde079
променени са 1 файла, в които са добавени 15 реда и са изтрити 2 реда
  1. 15 2
      supervisor/web.py

+ 15 - 2
supervisor/web.py

@@ -335,9 +335,22 @@ class StatusView(MeldView):
                     return wrong
 
                 elif action == 'stop':
-                    callback = rpcinterface.supervisor.stopProcess(namespec)
+                    try:
+                        callback = rpcinterface.supervisor.stopProcess(
+                            namespec)
+                    except RPCError as e:
+                        def stoperr():
+                            return 'unexpected rpc fault [%d] %s' % (
+                                e.code, e.text)
+                        stoperr.delay = 0.05
+                        return stoperr
+
                     def stopprocess():
-                        result = callback()
+                        try:
+                            result = callback()
+                        except RPCError as e:
+                            return 'unexpected rpc fault [%d] %s' % (
+                                e.code, e.text)
                         if result is NOT_DONE_YET:
                             return NOT_DONE_YET
                         return 'Process %s stopped' % namespec