code: async def _resin_supervisor_restart():
      
      supervisor = os.environ.get('RESIN_SUPERVISOR_ADDRESS',
                                  'http://127.0.0.1:48484')
      restart_url = supervisor + '/v1/restart'
      api = os.environ.get('RESIN_SUPERVISOR_API_KEY', 'unknown')
      app_id = os.environ.get('RESIN_APP_ID', 'unknown')
      async with aiohttp.ClientSession() as session:
          async with session.post(restart_url,
                                  params={'apikey': api},
                                  json={'appId': app_id,
                                        'force': True}) as resp:
              body = await resp.read()
              if resp.status != 202:
                  log.error("Could not shut down: {}: {}"
                            .format(resp.status, body))
docs: Execute a container restart by requesting it from the supervisor.
  
      Note that failures here are returned but most likely will not be
      sent back to the caller, since this is run in a separate workthread.
      If the system is not responding, look for these log messages.