LocalExecutor を使用して 4 CPU マシンで Airflow を実行しています
アップストリーム タスクを 1 つの成功として定義しました
create_spark_cluster_task = BashOperator(
task_id='create_spark_cluster',
trigger_rule='one_success',
bash_command= ...,
dag=dag)
...
download_bag_data_task >> create_spark_cluster_task
download_google_places_data_task >> create_spark_cluster_task
download_facebook_places_details_data_task >> create_spark_cluster_task
download_facebook_places_details_data_task_2 >> create_spark_cluster_task
download_facebook_places_details_data_task_3 >> create_spark_cluster_task
download_factual_data_task >> create_spark_cluster_task
download_dataoutlet_data_task >> create_spark_cluster_task
しかし、いくつかは明確に成功としてマークされていても、タスクはトリガーされません
「ダウンロードタスク」は並行して実行されるため、問題になることはありません
タスクを検査すると、次のことが示されます。
依存性: 不明
理由: すべての依存関係が満たされていますが、タスク インスタンスが実行されていません。ほとんどの場合、これは次の場合を除き、タスクがおそらくすぐにスケジュールされることを意味します: - スケジューラがダウンしているか、負荷が高い - このタスク インスタンスは既に実行されており、状態が手動で変更されている (例: UI でクリアされている)
私は負荷を見てきましたが、実際にはかなり高いです:
負荷平均: 2.45、3.55、3.71 CPU は 50 ~ 60% です
しかし、他のタスクはすでに終了しているので、別のタスクを開始するための空きリソースがあるはずですよね?