5

エアフローを使用してワークフロー DAG を実行しています。私が設定した開始日は2014年5月26日で、schedule_intervalは終了日のない1日で、Celery Executorを使用しています。気流は、指定された日付からタスクの実行を開始し、期待どおりに開始日から毎日増分します。

しかし、問題は、開始日から 16 日間だけ日付をスケジュールして実行し、その後停止することです。次の一連の DAG をスケジュールして実行するには、スケジューラ サービスを再起動する必要があります。

以下のプロパティを変更して、airflow.cfg でより高い値に設定しましたが、それでも機能しません。

dag_concurrency = 9999
max_active_runs_per_dag = 9999
parallellism = 9999
celeryd_concurrency = 4

私の要件は、気流に開始日から現在の日付までタスクを実行させることです。実行できるダグの数に制限があるように見えますが、それを理解することはできません。提案してください。

気流のバージョンは 1.7.1.2 です

4

1 に答える 1

0

正しいかどうかわかりませんが、特定の日付から次の 16 日間まで毎日のジョブを実行しますか? もしそうなら、 airflow.cfgとは何の関係もありません。投稿した設定は、多くの Dag がある場合に実際にマシンを「強制終了」する可能性があります。これは、並行して実行およびスケジュールされるタスク インスタンスに関するものです。 .

必要なのはstart_dateend_dateを定義することだと思います。ジョブを保持する DAG を構築するときに実行できます。1 つの方法は、default_args を定義してから、それらを DAG で使用することです。

default_args = {
     'owner': 'userXX',
     'start_date': datetime(2014, 05, 26),
     'end_date': datetime(2014, 06, 11),
     'email': ['mail1..','mail2...'],
    ...
}

mydag = DAG(
           PARENT_ID, default_args=default_args,
           schedule_interval="@daily",
           user_defined_macros=user_defined_macros
)

_some_Operator(
                task_id='task_idxx',
                .. other settings/jobrun...
                dag=mydag,

            )

お役に立てれば

于 2016-07-15T15:02:06.763 に答える