def execute_greenlet_async(func, *args, **kwargs):
  """
  Executes `func` in a separate greenlet in the same process. Memory and other
  resources are available (e.g. TCP connections etc.) `args` and `kwargs` are
  passed to `func`.
  """
  global _GREENLET_EXECUTOR
  if _GREENLET_EXECUTOR is None:
    _GREENLET_EXECUTOR = GreenletExecutor(
      num_greenlets=settings.node.greenlet_pool_size)
  return _GREENLET_EXECUTOR.submit(func, *args, **kwargs)
def execute_greenlet_async ( func , * args , ** kwargs ) : global _GREENLET_EXECUTOR if _GREENLET_EXECUTOR is None : _GREENLET_EXECUTOR = GreenletExecutor ( num_greenlets = settings . node . greenlet_pool_size ) return _GREENLET_EXECUTOR . submit ( func , * args , ** kwargs )
Executes `func` in a separate greenlet in the same process. Memory and other
  resources are available (e.g. TCP connections etc.) `args` and `kwargs` are
  passed to `func`.