PythonのRuffusパッケージでパイプラインを作成したいのですが、私はその最も簡単な概念に苦しんでいます。 2つのタスクを順に実行する必要があります。第2のタスクは、第1のタスクの出力に依存する。 Ruffusのドキュメントでは、すべてが外部ファイルへのインポート/エクスポート用に設計されています。私は辞書のような内部データ型を扱いたい。内部入力のRuffusパイプライン
@followsは入力を受け付けず、@transformはdictsをとらないという問題があります。何か不足していますか?
def task1():
# generate dict
properties = {'status': 'original'}
return properties
@follows(task1)
def task2(properties):
# update dict
properties['status'] = 'updated'
return properties
最終的に、パイプラインは、外出先でクラスオブジェクトを更新するクラス内の関数のセットを結合する必要があります。
答えに感謝を。私は、タスクに直接依存することなく、モジュラーパイプラインを構築したかったのです。これが私が辞書のRuffusパッケージを乱用したかった理由です。 Ruffusはこの種のハックを意味していないようです:) – Damian
@Damian 'pipeline_run'を呼び出すと、ファイルの存在(タイムスタンプ)をチェックするので、あなたの望む動作はRuffusでは不可能だと思います –