問題タブ [prefect]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
5 に答える
720 参照

airflow - スケジュールではなく、データムごとのエアフロー ダグルン

私が直面している現在の問題は、非循環依存グラフで実行する必要があるタスクによってそれぞれ処理および更新する必要があるドキュメントが MongoDB コレクションにあることです。上流のタスクがドキュメントの処理に失敗した場合、そのドキュメントは前提条件の情報で更新されていないため、従属タスクはそのドキュメントを処理できません。

Airflow を使用する場合、次の 2 つの解決策があります。

  1. ドキュメントごとに DAG をトリガーし、ドキュメント ID を で渡します--conf。これに関する問題は、これが Airflow の意図された使用方法ではないことです。スケジュールされたプロセスを実行することは決してなく、ドキュメントがコレクションにどのように表示されるかに基づいて、1 日あたり 1440 の Dagrun を作成します。

  2. その期間のコレクションで作成されたすべてのドキュメントを処理するために、その期間ごとに DAG を実行します。これは Airflow が期待される動作方法に従いますが、問題は、タスクが 1 つのドキュメントの処理に失敗した場合、依存するタスクが他のドキュメントを処理できないことです。また、ドキュメントがタスクによって処理されるのに他のドキュメントよりも時間がかかる場合、それらの他のドキュメントは、その単一のドキュメントが DAG を続行するのを待っています。

エアフローよりも良い方法はありますか? または、現在見ている 2 つの方法よりも Airflow でこれを処理するためのより良い方法はありますか?

0 投票する
1 に答える
906 参照

docker - Prefect フローでカスタム Docker ストレージを使用するには?

クラスターをセットアップし、基本的なフローをDask喜んで送信しています。Prefect今、私はもっと面白いことをしたいと思っており、Python ライブラリを含むカスタム Docker イメージを取得し、dask クラスターでフロー/タスクを実行します。

私の仮定は、dask クラスター (スケジューラーとワーカー) を独自の Python 環境のままにしておくことができるということでした (すべてのさまざまなメッセージ パッシング ライブラリに一致するバージョンがどこにでもあることを確認した後)。つまり、フローがカスタム内で実行される場合、ライブラリをそれらのマシンに追加する必要はないと思いますstorage。ただし、ストレージを正しく設定していないか、上記を想定するのは安全ではありません。つまり、おそらくカスタム ライブラリでオブジェクトをピクルする場合、Dask クラスターPython ライブラリについて知る必要があります。...という名前の汎用のpythonライブラリがあるとしdataます...

このタイプの Docker ベースのワークフローがどのように機能するか、または機能するかどうかを説明できる人はいますか?