Hey Jason,

The SequentialExecutor only ever runs one task at a time. It's meant for
debugging purposes. Try switching to the LocalExecutor.

Cheers,
Chris

On Tue, May 31, 2016 at 3:31 PM, Jason Chen <chingchien.c...@gmail.com>
wrote:

> Chris,
>  I am running SequentialExecutor.
>
> Thanks.
> Jason
>
>
> On Tue, May 31, 2016 at 1:36 PM, Chris Riccomini <criccom...@apache.org>
> wrote:
>
>> Hey Jason,
>>
>> Are you running the SerialExecutor? This is the default out-of-the-box
>> executor.
>>
>> Cheers,
>> Chris
>>
>> On Tue, May 31, 2016 at 12:59 PM, Jason Chen <chingchien.c...@gmail.com>
>> wrote:
>>
>>> Hi Chris,
>>>
>>> I made the changes and tried it out.
>>> It seems not working as expected.
>>> When a dag is running (a particular task inside that dag is taking
>>> time), another task from another dag seems "blocked".
>>>
>>> My setting:
>>> (1) airflow.cfg
>>>   max_active_runs_per_dag = 16
>>>   parallelism = 32
>>>   dag_concurrency = 16
>>>
>>> (2) A dag (dag1) python file is as below partially. Please note that
>>> inside this DAG, the first task (task1) is a long running task
>>>
>>> dag1 = DAG('dag1', schedule_interval=timedelta(minutes=15),
>>> max_active_runs=1, default_args=args)
>>>
>>> Then, the tasks are running in the order...
>>> task1 (long running) --> task 2  --> task3
>>> ...
>>> (3) In another dag (dag2) python file is as below partially.
>>> dag2 = DAG('dag2', schedule_interval=timedelta(minutes=3),
>>> max_active_runs=1, default_args=args)
>>> ...
>>> Then, the tasks are running in the order...
>>> taskA (short running task) --> taskB
>>>
>>> (4) Inside the upstart script file. this is the main part how I start
>>> airflow scheduler
>>>
>>> env SCHEDULER_RUNS=0
>>> export SCHEDULER_RUNS
>>>
>>> script
>>>     exec >> ${AIRFLOW_HOME}/scheduler-log/airflow-scheduler.log 2>&1
>>>     exec usr/local/bin/airflow scheduler -n ${SCHEDULER_RUNS}
>>> end script
>>>
>>> =========================
>>>
>>> What I observed are that
>>> (a) task1 (of dag1) is running about 20 mins and during it's running
>>> time, there is no other dag1 triggered. This is as expected.
>>>
>>> (b) taskA (of dag2) should be triggered to run every 3 mins. However, it
>>> is NOT triggered if task-1 of dag-1 is running.
>>> taskA seems to be queued/bolcked and not run. It is executed after
>>> task-1 (of dag-1) is done. So, it looks like it is dispatched into a "gap"
>>> of task1 and task2 (of dag1). This looks not normal, as it's expected taskA
>>> (of dag 2) should run no matter what happens to another dag (dag-1).
>>>
>>>
>>> Any suggestions?
>>> Thanks.
>>> Jason
>>>
>>>
>>> On Tue, May 31, 2016 at 9:02 AM, Chris Riccomini <criccom...@apache.org>
>>> wrote:
>>>
>>>> Hey Jason,
>>>>
>>>> The problem is max_active_runs_per_dag=1. Set it back to 16. You just
>>>> need
>>>> max_active_runs=1 for the individual DAGs. This will allow multiple
>>>> (different) DAGs to run in parallel, but only one DAG of each type can
>>>> run
>>>> at the same type.
>>>>
>>>> Cheers,
>>>> Chris
>>>>
>>>> On Fri, May 27, 2016 at 11:42 PM, Jason Chen <chingchien.c...@gmail.com
>>>> >
>>>> wrote:
>>>>
>>>> > Hi Chris,
>>>> >  Thanks for your reply. After setting it up, I observed how it works
>>>> for
>>>> > couple of days..
>>>> >
>>>> >  I tried to to set max_active_runs=1 in the DAG
>>>> > dag = DAG(...max_active_runs=1...) and it executed fine to avoid two
>>>> runs
>>>> > at the same time.
>>>> > However, I noticed other dags (not the dag that is running) is also
>>>> > "paused".
>>>> > My understanding is that "max_active_runs" is basically
>>>> > "max_active_runs_per_dag".
>>>> > So, why another dag (different dag name) cannot run at the same time
>>>> as the
>>>> > first dag?
>>>> > I want to have the two dags can be possibly run at the same time and
>>>> inside
>>>> > each dag, there is only
>>>> > one run per dag.
>>>> > Thanks.
>>>> >
>>>> > Jason
>>>> >
>>>> > My other settings in airflow.cfg
>>>> >
>>>> > max_active_runs_per_dag=1
>>>> > parallelism = 32
>>>> > dag_concurrency = 16
>>>> >
>>>> >
>>>> >
>>>> > On Mon, May 16, 2016 at 8:57 PM, Chris Riccomini <
>>>> criccom...@apache.org>
>>>> > wrote:
>>>> >
>>>> > > Hey Jason,
>>>> > >
>>>> > > For (2), by default, task1 will start running again. You'll have
>>>> two runs
>>>> > > going at the same time. If you want to prevent this, you can set
>>>> > > max_active_runs to 1 in your DAG.
>>>> > >
>>>> > > Cheers,
>>>> > > Chris
>>>> > >
>>>> > > On Mon, May 16, 2016 at 1:09 PM, Jason Chen <
>>>> chingchien.c...@gmail.com>
>>>> > > wrote:
>>>> > >
>>>> > > > I have two questions
>>>> > > >
>>>> > > > (1) For the airflow UI: "Tree view", it lists the tasks along
>>>> with the
>>>> > > time
>>>> > > > highlighted in the top (say, 08:30; 09:00, etc). What's the
>>>> meaning of
>>>> > > > time? It looks not the UTC time of the task was running.  I know
>>>> in
>>>> > > > overall, airflow uses UTC time
>>>> > > > (2) I have a DAG with two tasks: task1 --> task2
>>>> > > > Task1 is running hourly and could take longer than one hour to
>>>> run,
>>>> > > > sometimes.
>>>> > > > In such a setup, task1 will be triggered hourly and what happens
>>>> if the
>>>> > > > previous task1 is still running ? Will the "new" task1 be queued ?
>>>> > > >
>>>> > > > Thanks.
>>>> > > > Jason
>>>> > > >
>>>> > >
>>>> >
>>>>
>>>
>>>
>>
>

Reply via email to