diff --git a/content/en/docs/components/pipelines/user-guides/core-functions/caching.md b/content/en/docs/components/pipelines/user-guides/core-functions/caching.md index b954bdc050..a2e479851d 100644 --- a/content/en/docs/components/pipelines/user-guides/core-functions/caching.md +++ b/content/en/docs/components/pipelines/user-guides/core-functions/caching.md @@ -57,3 +57,41 @@ client.create_run_from_pipeline_func( enable_caching=True, # overrides the above disableing of caching ) ``` + +The `--disable-execution-caching-by-default` flag disables caching for all pipeline tasks by default. + +Example: +``` +kfp dsl compile --py my_pipeline.py --output my_pipeline.yaml --disable-execution-caching-by-default +``` +Environment Variable `KFP_DISABLE_EXECUTION_CACHING_BY_DEFAULT`.  + +You can also set the default caching behavior by using the environment variable. When set to true, 1, or other truthy values, it will disable execution caching by default for all pipelines. When set to false or when absent, the default of caching enabled remains.\ +Example: +``` +KFP_DISABLE_EXECUTION_CACHING_BY_DEFAULT=true \ +kfp dsl compile --py my_pipeline.py --output my_pipeline.yaml +``` +This environment variable also works for `Compiler().compile()`. + +Given the following pipeline file: +``` +@dsl.pipeline(name='my-pipeline') +def my_pipeline(): + task_1 = create_dataset() + task_2 = create_dataset() + task_1.set_caching_options(False) + +Compiler().compile( + pipeline_func=my_pipeline, + package_path='my_pipeline.yaml', +) +``` +Executing this +``` +KFP_DISABLE_EXECUTION_CACHING_BY_DEFAULT=true \ +python my_pipeline.py +``` +will result in `task_2` having caching disabled. + +Note: Since Python initializes configurations during the import process, setting the KFP_DISABLE_EXECUTION_CACHING_BY_DEFAULT environment variable after importing pipeline components will not affect the caching behavior. Therefore, always set it before importing any Kubeflow Pipelines components. \ No newline at end of file