

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 特定于引擎的缓存功能
<a name="workflow-cache-per-engine"></a>

HealthOmics 尝试在工作流引擎之间提供一致的呼叫缓存实现。根据每个工作流引擎处理特定案例的方式，会有一些差异：
+ 下一步
  + 不能保证在不同的 Nextflow 版本之间进行缓存。例如，如果您在 v23.10.0 中运行一个任务，然后在 v24.10.8 中运行相同的任务，则 HealthOmics 可能会认为第二次运行是缓存丢失。
  + 你可以使用 cache **false** 指令关闭单个任务的缓存。有关此指令的信息，请参阅 Nextflow 规范中的[进程](https://www.nextflow.io/docs/latest/process.html#process-cache)。
  + HealthOmics 使用 Nextflow 宽松模式，但不支持深度缓存模式。
  + 如果您在 S3 路径中使用通往任务输入的 glob 模式，则缓存会评估每个单独的 S3 对象。如果添加新对象，则仅 HealthOmics 重新计算使用新对象的任务。
  + HealthOmics 不缓存任务重试次数。此行为与 Nextflow 的默认行为一致。
+ WDL
  + HealthOmics 当您使用 WDL 工作流程的开发版本时，支持新的 “目录” 输入类型。对于呼叫缓存，如果目录中的任何对象发生更改，则会 HealthOmics 重新计算所有输入该目录的任务。
  + HealthOmics 支持任务级缓存，但不支持工作流级缓存。
  + 您可以使用 v **olatil** e 属性禁用单个任务的缓存。有关更多信息，请参阅 [使用 volatile 属性禁用任务级缓存](workflow-languages-wdl.md#workflow-wdl-volatile-attribute)。
+ CWL
  + 从清单中看不到任务的恒定输出。 HealthOmics 将常量输出缓存为中间文件。
  + 您可以使用该[WorkReuse](https://www.commonwl.org/v1.1/Workflow.html#WorkReuse)功能控制单个任务的缓存。