[ 
https://issues.apache.org/jira/browse/AIRFLOW-3146?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

jack updated AIRFLOW-3146:
--------------------------
    Description: 
Currently the TimeDeltaSensor  takes these arguments:

{color:#4070a0}    :param delta: time length to wait after execution_date 
before succeeding{color}

{color:#4070a0}    :type delta: datetime.timedelta{color}{color:#4070a0}    
"""{color}{color:#404040}
 
     {color}{color:#555555}@apply_defaults{color}{color:#404040}
     {color}{color:#007020}def{color} 
{color:#06287e}__init__{color}{color:#404040}({color}{color:#007020}self{color}{color:#404040},{color}
 {color:#404040}delta{color}{color:#404040},{color} 
{color:#666666}*{color}{color:#404040}args{color}{color:#404040},{color} 
{color:#666666}**{color}{color:#404040}kwargs{color}{color:#404040}):{color}{color:#404040}
         
{color}{color:#007020}super{color}{color:#404040}({color}{color:#404040}TimeDeltaSensor{color}{color:#404040},{color}
 
{color:#007020}self{color}{color:#404040}){color}{color:#666666}.{color}{color:#06287e}__init__{color}{color:#404040}({color}{color:#666666}*{color}{color:#404040}args{color}{color:#404040},{color}
 
{color:#666666}**{color}{color:#404040}kwargs{color}{color:#404040}){color}{color:#404040}
         
{color}{color:#007020}self{color}{color:#666666}.{color}{color:#404040}delta{color}
 {color:#666666}={color} {color:#404040}delta{color}

 

*The problem:*

The operator assumes that the user would like to wait execution_date + delta.

This isn't always the case, The user might want to wait delta after the task 
has finished running.

 

Lets take this example:

{color:#4070a0}    2016-01-01 can only start running on 2016-01-02. The 
timedelta here{color}{color:#4070a0}    represents the time after the execution 
period has closed.{color}

Now, say the task ran for +4 hours.+ So if we set
{code:java}
delta = 5 minutes {code}
it actually doesn't wait at all. The sensor is useless in that senario.  What 
the user may be intended is :

 

execution_date + duration to complete task + delta.

 

Or in simple words: Timestamp of execution end + delta.

 

*My suggestion:*

Add another Boolean  parameter which will choose if the delta is from 
execution_date or execution_date + duration of task

  was:
Currently the TimeDeltaSensor  takes these arguments:

 

{color:#4070a0}    :param delta: time length to wait after execution_date 
before succeeding{color}{color:#404040}
{color}{color:#4070a0}    :type delta: datetime.timedelta{color}{color:#404040}
{color}{color:#4070a0}    """{color}{color:#404040}

    {color}{color:#555555}@apply_defaults{color}{color:#404040}
    {color}{color:#007020}def{color} 
{color:#06287e}__init__{color}{color:#404040}({color}{color:#007020}self{color}{color:#404040},{color}
 {color:#404040}delta{color}{color:#404040},{color} 
{color:#666666}*{color}{color:#404040}args{color}{color:#404040},{color} 
{color:#666666}**{color}{color:#404040}kwargs{color}{color:#404040}):{color}{color:#404040}
        
{color}{color:#007020}super{color}{color:#404040}({color}{color:#404040}TimeDeltaSensor{color}{color:#404040},{color}
 
{color:#007020}self{color}{color:#404040}){color}{color:#666666}.{color}{color:#06287e}__init__{color}{color:#404040}({color}{color:#666666}*{color}{color:#404040}args{color}{color:#404040},{color}
 
{color:#666666}**{color}{color:#404040}kwargs{color}{color:#404040}){color}{color:#404040}
        
{color}{color:#007020}self{color}{color:#666666}.{color}{color:#404040}delta{color}
 {color:#666666}={color} {color:#404040}delta{color}

 

*The problem:*

The operator assumes that the user would like to wait execution_date + delta.

This isn't always the case, The user might want to wait delta after the task 
has finished running.

 

Lets take this example:

{color:#4070a0}    2016-01-01 can only start running on 2016-01-02. The 
timedelta here{color}{color:#404040}
{color}{color:#4070a0}    represents the time after the execution period has 
closed.{color}

Now, say the task ran for +4 hours.+ So if we set
{code:java}
delta = 5 minutes {code}
it actually doesn't wait at all. The sensor is useless in that senario.  What 
the user may be intended is :

 

execution_date + duration to complete task + delta.

 

Or in simple words: Timestamp of execution end + delta.

 

*My suggestion:*


Add another Boolean  parameter which will choose if the delta is from 
execution_date or execution_date + duration of task


> TimeDeltaSensor  - add end time stamp
> -------------------------------------
>
>                 Key: AIRFLOW-3146
>                 URL: https://issues.apache.org/jira/browse/AIRFLOW-3146
>             Project: Apache Airflow
>          Issue Type: Wish
>            Reporter: jack
>            Priority: Minor
>
> Currently the TimeDeltaSensor  takes these arguments:
> {color:#4070a0}    :param delta: time length to wait after execution_date 
> before succeeding{color}
> {color:#4070a0}    :type delta: datetime.timedelta{color}{color:#4070a0}    
> """{color}{color:#404040}
>  
>      {color}{color:#555555}@apply_defaults{color}{color:#404040}
>      {color}{color:#007020}def{color} 
> {color:#06287e}__init__{color}{color:#404040}({color}{color:#007020}self{color}{color:#404040},{color}
>  {color:#404040}delta{color}{color:#404040},{color} 
> {color:#666666}*{color}{color:#404040}args{color}{color:#404040},{color} 
> {color:#666666}**{color}{color:#404040}kwargs{color}{color:#404040}):{color}{color:#404040}
>          
> {color}{color:#007020}super{color}{color:#404040}({color}{color:#404040}TimeDeltaSensor{color}{color:#404040},{color}
>  
> {color:#007020}self{color}{color:#404040}){color}{color:#666666}.{color}{color:#06287e}__init__{color}{color:#404040}({color}{color:#666666}*{color}{color:#404040}args{color}{color:#404040},{color}
>  
> {color:#666666}**{color}{color:#404040}kwargs{color}{color:#404040}){color}{color:#404040}
>          
> {color}{color:#007020}self{color}{color:#666666}.{color}{color:#404040}delta{color}
>  {color:#666666}={color} {color:#404040}delta{color}
>  
> *The problem:*
> The operator assumes that the user would like to wait execution_date + delta.
> This isn't always the case, The user might want to wait delta after the task 
> has finished running.
>  
> Lets take this example:
> {color:#4070a0}    2016-01-01 can only start running on 2016-01-02. The 
> timedelta here{color}{color:#4070a0}    represents the time after the 
> execution period has closed.{color}
> Now, say the task ran for +4 hours.+ So if we set
> {code:java}
> delta = 5 minutes {code}
> it actually doesn't wait at all. The sensor is useless in that senario.  What 
> the user may be intended is :
>  
> execution_date + duration to complete task + delta.
>  
> Or in simple words: Timestamp of execution end + delta.
>  
> *My suggestion:*
> Add another Boolean  parameter which will choose if the delta is from 
> execution_date or execution_date + duration of task



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

Reply via email to