2017-03-10 4 views
1

LocalExecutorMySQLバックエンドを使用すると、airflow schedulerをCentOS 6ボックスで実行すると33個のスケジューラプロセスが作成されます。 deploy 55362 13.5 1.8 574224 73272 ? Sl 18:59 7:42 /usr/local/bin/python2.7 /usr/local/bin/airflow scheduler deploy 55372 0.0 1.5 567928 60552 ? Sl 18:59 0:00 /usr/local/bin/python2.7 /usr/local/bin/airflow scheduler deploy 55373 0.0 1.5 567928 60540 ? Sl 18:59 0:00 /usr/local/bin/python2.7 /usr/local/bin/airflow scheduler ... これらは、Executorプロセスおよびgunicornマスタおよびワーカープロセスとは異なります。 SequentialExecutorsqliteバックエンド)で実行すると、1つのスケジューラプロセスが開始されます。
気流はまだ機能しています(DAGが稼動しています)。しかし、これらのプロセスの数が多すぎると、何かが間違っていると思うようになります。
select * from job where state = 'running';をデータベースで実行すると、5 SchedulerJob行だけが返されます。 これは正常ですか?`airflow scheduler`を実行すると、33個のスケジューラプロセスが起動されます

答えて

4

はいこれは正常です。これらはスケジューラプロセスです。これらは、そのPID airflow-scheduler.pidファイル

ように32 + 1 = 33回の処理中に見出すことができるスケジューラから生み出される

# The amount of parallelism as a setting to the executor. This defines 
# the max number of task instances that should run simultaneously 
# on this airflow installation 
parallelism = 32 

airflow.cfgこのパラメータの下に使用を制御することができます。あなたが見ていること。

これがあなたの疑いを解消することを願っています。

乾杯!

+0

ありがとう、Priyank!並列性パラメータを変更すると、これらの「スケジューラ」プロセスの数が変わります。私は混乱していると思う、私は並列処理が、実際にタスクを実行する実行プロセスに言及したと思った。 –

+0

@CollinMeyersこれらは「実行者」プロセスです。これらは単にあなたのPIDリストの "スケジューラー"という名前です。 LocalExecutorのスケジューラを起動すると、スケジューラは1つしか実行されません。 –

関連する問題