Sfoglia il codice sorgente

Show process name in all spawn error messages
Refs #87, #629

Mike Naberezny 9 anni fa
parent
commit
8569e3f4e8
2 ha cambiato i file con 16 aggiunte e 20 eliminazioni
  1. 4 4
      supervisor/process.py
  2. 12 16
      supervisor/tests/test_process.py

+ 4 - 4
supervisor/process.py

@@ -227,8 +227,8 @@ class Subprocess(object):
                 # too many file descriptors open
                 msg = 'too many open files to spawn %r' % self.config.name
             else:
-                msg = ('unknown error making dispatchers: %s' %
-                       errno.errorcode.get(code, code))
+                msg = 'unknown error making dispatchers for %r: %s' % (
+                      self.config.name, errno.errorcode.get(code, code))
             self.record_spawnerr(msg)
             self._assertInState(ProcessStates.STARTING)
             self.change_state(ProcessStates.BACKOFF)
@@ -243,8 +243,8 @@ class Subprocess(object):
                 msg  = ('Too many processes in process table to spawn %r' %
                         self.config.name)
             else:
-                msg = ('unknown error during fork: %s' %
-                       errno.errorcode.get(code, code))
+                msg = 'unknown error during fork for %r: %s' % (
+                      self.config.name, errno.errorcode.get(code, code))
             self.record_spawnerr(msg)
             self._assertInState(ProcessStates.STARTING)
             self.change_state(ProcessStates.BACKOFF)

+ 12 - 16
supervisor/tests/test_process.py

@@ -247,10 +247,9 @@ class SubprocessTests(unittest.TestCase):
         events.subscribe(events.ProcessStateEvent, lambda x: L.append(x))
         result = instance.spawn()
         self.assertEqual(result, None)
-        self.assertEqual(instance.spawnerr,
-                         'unknown error making dispatchers: EPERM')
-        self.assertEqual(options.logger.data[0],
-                         "spawnerr: unknown error making dispatchers: EPERM")
+        msg = "unknown error making dispatchers for 'good': EPERM"
+        self.assertEqual(instance.spawnerr, msg)
+        self.assertEqual(options.logger.data[0], "spawnerr: %s" % msg)
         self.assertTrue(instance.delay)
         self.assertTrue(instance.backoff)
         from supervisor.states import ProcessStates
@@ -275,10 +274,9 @@ class SubprocessTests(unittest.TestCase):
         events.subscribe(events.ProcessStateEvent, lambda x: L.append(x))
         result = instance.spawn()
         self.assertEqual(result, None)
-        self.assertEqual(instance.spawnerr,
-                         "unknown error making dispatchers: EISDIR")
-        self.assertEqual(options.logger.data[0],
-                         "spawnerr: unknown error making dispatchers: EISDIR")
+        msg = "unknown error making dispatchers for 'cat': EISDIR"
+        self.assertEqual(instance.spawnerr, msg)
+        self.assertEqual(options.logger.data[0], "spawnerr: %s" % msg)
         self.assertTrue(instance.delay)
         self.assertTrue(instance.backoff)
         from supervisor.states import ProcessStates
@@ -300,10 +298,9 @@ class SubprocessTests(unittest.TestCase):
         events.subscribe(events.ProcessStateEvent, lambda x: L.append(x))
         result = instance.spawn()
         self.assertEqual(result, None)
-        self.assertEqual(instance.spawnerr,
-                         "Too many processes in process table to spawn 'good'")
-        self.assertEqual(options.logger.data[0],
-             "spawnerr: Too many processes in process table to spawn 'good'")
+        msg = "Too many processes in process table to spawn 'good'"
+        self.assertEqual(instance.spawnerr, msg)
+        self.assertEqual(options.logger.data[0], "spawnerr: %s" % msg)
         self.assertEqual(len(options.parent_pipes_closed), 6)
         self.assertEqual(len(options.child_pipes_closed), 6)
         self.assertTrue(instance.delay)
@@ -327,10 +324,9 @@ class SubprocessTests(unittest.TestCase):
         events.subscribe(events.ProcessStateEvent, lambda x: L.append(x))
         result = instance.spawn()
         self.assertEqual(result, None)
-        self.assertEqual(instance.spawnerr,
-                         'unknown error during fork: EPERM')
-        self.assertEqual(options.logger.data[0],
-                         "spawnerr: unknown error during fork: EPERM")
+        msg = "unknown error during fork for 'good': EPERM"
+        self.assertEqual(instance.spawnerr, msg)
+        self.assertEqual(options.logger.data[0], "spawnerr: %s" % msg)
         self.assertEqual(len(options.parent_pipes_closed), 6)
         self.assertEqual(len(options.child_pipes_closed), 6)
         self.assertTrue(instance.delay)