Carl - 

   Thanks, that definitely works, but it's non-ideal. If I had 100s of jobs 
running throughout the day, a TimeSensor task (process) gets created for each 
task at midnight even though a task may not be required to run for a very long 
time (e.g. a whole bunch of tasks need to run @ 20:00. All of their time 
sensors are kicked off at 00:00). Worse still, if I used a LocalExcecutor with 
a pool size of 10, some jobs that need to run early may not even get scheduled 
in favor of time sensors for tasks later in the day which only perform a sleep 
operation.

   Is there another way to do this? If not, is there at least another way 
around the LocalExecutor problem?

Ram.
   

On 2018/07/23 08:23:45, Carl Johan Gustavsson <carl.j.gustavs...@gmail.com> 
wrote: 
> Hi Ram,
> 
> You can have a single DAG scheduled to 10am, which starts A and then use a 
> TimeSensor set to 11 am that B depends on  and then have C depend on A and B.
> 
> Something like:
> 
> a = BashOperator(‘a’, …)
> 
> delay_b = TimeSensor(‘delay_b’, target_time=time(11, 0, 0), …)
> b = BashOperator(‘b’, …)
> b.set_upstream(delay_b)
> 
> c = BashOperator(‘c’, …)
> c.set_upstream(a)
> c.set_upstream(b)
> 
> 
> / Carl Johan
> On 23 July 2018 at 02:18:00, srinivas.ramabhad...@gmail.com 
> (srinivas.ramabhad...@gmail.com) wrote:
> 
> Hi -  
> 
> I have recently started using Airflow version 1.9.0 and am having some 
> difficulty setting up a very simple DAG. I have three tasks A, B and C. I'd 
> like A to run every day at 10am and B at 11am. C depends on BOTH A and B 
> running successfully.  
> 
> Initially, I decided to create one DAG, add all three tasks to it and set C 
> as downstream to A and B. I then set the schedule_interval of the DAG to 
> @daily. But this meant I couldn't run A and B at 10am and 11am respectively 
> since the they are PythonOperators and tasks dont support schedule_interval 
> (or, at least, it's deprecated syntax and gets ignored).  
> 
> I scratched that idea and then created A and B as DAGs, specified the 
> schedule interval as per the cron syntax: '00 10 * * *' for A and '00 11 * * 
> *' for B. But now when I set C as a downstream of A and B, it complains that 
> C can't belong to two different dags.  
> 
> How do I accomplish such a simple dependency structure?  
> 
> Ram.  
> 

Reply via email to