:mod:`airflow.executors.celery_executor`
========================================

.. py:module:: airflow.executors.celery_executor







Module Contents
---------------






.. data:: CELERY_FETCH_ERR_MSG_HEADER
   :annotation: = Error fetching Celery task state 

   









.. data:: CELERY_SEND_ERR_MSG_HEADER
   :annotation: = Error sending Celery task 

   To start the celery worker, run the command:
   airflow worker










.. data:: celery_configuration
   

   









.. data:: app
   

   









.. function:: execute_command(command_to_exec)

   









.. py:class:: ExceptionWithTraceback(exception, exception_traceback)

   Bases::class:`object`

   

   Wrapper class used to propagate exceptions to parent processes from subprocesses.

   :param exception: The exception to wrap
   :type exception: Exception
   :param exception_traceback: The stacktrace to wrap
   :type exception_traceback: str


   

   









.. function:: fetch_celery_task_state(celery_task)

   
   Fetch and return the state of the given celery task. The scope of this function is
   global so that it can be called by subprocesses in the pool.

   :param celery_task: a tuple of the Celery task key and the async Celery object used
       to fetch the task's state
   :type celery_task: tuple(str, celery.result.AsyncResult)
   :return: a tuple of the Celery task key and the Celery state of the task
   :rtype: tuple[str, str]

   









.. function:: send_task_to_executor(task_tuple)

   









.. py:class:: CeleryExecutor

   Bases::class:`airflow.executors.base_executor.BaseExecutor`

   

   CeleryExecutor is recommended for production use of Airflow. It allows
   distributing the execution of task instances to multiple worker nodes.

   Celery is a simple, flexible and reliable distributed system to process
   vast amounts of messages, while providing operations with the tools
   required to maintain such a system.


   

   

   

   .. method:: start(self)

      



   

   .. method:: _num_tasks_per_send_process(self, to_send_count)

      
      How many Celery tasks should each worker process send.

      :return: Number of tasks that should be sent per process
      :rtype: int

      



   

   .. method:: _num_tasks_per_fetch_process(self)

      
      How many Celery tasks should be sent to each worker process.

      :return: Number of tasks that should be used per process
      :rtype: int

      



   

   .. method:: heartbeat(self)

      



   

   .. method:: sync(self)

      



   

   .. method:: end(self, synchronous=False)