You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by "曾政 (JIRA)" <ji...@apache.org> on 2018/12/08 10:21:00 UTC

[jira] [Created] (AIRFLOW-3485) task rerun after celery worker restart

曾政 created AIRFLOW-3485:
---------------------------

             Summary: task rerun after celery worker restart
                 Key: AIRFLOW-3485
                 URL: https://issues.apache.org/jira/browse/AIRFLOW-3485
             Project: Apache Airflow
          Issue Type: Bug
          Components: celery, cli
    Affects Versions: 1.10.1
         Environment: centos7
            Reporter: 曾政
            Assignee: 曾政


I find a bug.

I'm using redis as broker,and using CeleryExecutor  as executor。

step 1:

force rerun a task that already in success state. 

for example:  airflow run dag_id task_name execution_date -A -i --force 

step 2:

before the task end kill the celery  worker (or maybe the worker crash or else); and the task is still in running.

step 3:

waiting for the task end.

step 4:

restart worker and you will find the task will rerun.

 

I research the problem and find the reason . when killing worker ,the worker restore the command to the queue .when the worker restart it read the same command and execute it.

but the normal scheduled task will check its state and  ignore the command.

I find a method to fix it.

 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)