Procházet zdrojové kódy

Add supervisor_group_name envvar.

Chris McDonough před 18 roky
rodič
revize
370b71f2c3

+ 3 - 1
src/supervisor/process.py

@@ -256,9 +256,11 @@ class Subprocess:
                     options.write(1, "(%s)\n" % msg)
                 try:
                     env = os.environ.copy()
+                    env['SUPERVISOR_PROCESS_NAME'] = self.config.name
+                    if self.group:
+                        env['SUPERVISOR_GROUP_NAME'] = self.group.config.name
                     if self.config.environment is not None:
                         env.update(self.config.environment)
-                    env['SUPERVISOR_PROCESS_NAME'] = self.config.name
                     options.execve(filename, argv, env)
                 except OSError, why:
                     code = why[0]

+ 6 - 0
src/supervisor/tests/test_process.py

@@ -366,11 +366,17 @@ class SubprocessTests(unittest.TestCase):
         options.forkpid = 0
         config = DummyPConfig(options, 'cat', '/bin/cat')
         instance = self._makeOne(config)
+        class Dummy:
+            name = 'dummy'
+        instance.group = Dummy()
+        instance.group.config = Dummy()
         result = instance.spawn()
         self.assertEqual(result, None)
         self.assertEqual(options.execv_args, ('/bin/cat', ['/bin/cat']) )
         self.assertEqual(
             options.execv_environment['SUPERVISOR_PROCESS_NAME'], 'cat')
+        self.assertEqual(
+            options.execv_environment['SUPERVISOR_GROUP_NAME'], 'dummy')
 
     def test_spawn_as_child_stderr_redirected(self):
         options = DummyOptions()