问题标签 [argoproj]
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.
kubernetes - 无法通过另一个 workflowTemplate 将输出参数从一个 workflowTemplate 传递到工作流
我有两个 workflowTemplatesgenerate-output
和lib-read-outputs
一个工作流output-paramter
如下
generate-output.yaml
lib-read-outputs.yaml
output-paramter.yaml
我正在尝试将 workflowTemplate 中生成的输出generate-output
参数output-paramter
通过lib-read-outputs
当我执行它们时,它会给出以下错误 -Failed: invalid spec: templates.main.tasks.lib-wf2 failed to resolve {{tasks.wf.outputs.parameters.message}}
kubernetes - 无法将 jsonpath 函数用于 Argo Workflows 中的输出参数
我有一个工作流程,在其中我使用jsonpath
函数作为输出参数从 json 字符串中提取特定值,但由于此错误而失败Error (exit code 255)
这是我的工作流程
在上面的工作流任务中dev-create
调用另一个 workflowTemplate dev-create-wft
,它返回另一个 workflowTemplate 的输出
这是我的工作流程模板
返回的 json 输出如下所示
工作流程是否jsonpath
支持功能?我问的原因是,当我在另一个工作流模板中使用相同的功能时它正在工作dev-outputs-wft
可能是什么问题?
argo-workflows - Argo Events 文件事件源未检测到文件
我正在为我的硕士论文构建基因组数据的处理管道,并且我正在使用 Argo。
基本上,我在 Argo Workflows 中实现了一个功能齐全的处理工作流,现在我正在尝试创建一个 EventSource 来检测排序器何时写入文件夹(然后文件夹名称应通过传感器传递给工作流)。
第一个问题是排序器需要一些时间来写入所有数据,因此我无法在创建基本目录后立即启动工作流。因此,想法是等待新运行文件夹中的特定文件被创建,然后启动工作流。
为了模拟这一点,我在监视目录中处理了一个旧的运行文件夹。现在,我实现了以下EventSource,它不监听前面提到的特定文件,而只是监听运行文件夹,它工作,检测到事件。
现在,我通过复制除该文件之外的所有数据并最后复制该文件来模拟之前所说的内容。按照脚本执行此操作。
我从集群中的一个 pod 运行它(安装了相同的 nfs 文件夹),如下所示:
有问题的文件是SampleSheet.csv
. 现在我修改了 EventSource,如下所示,以便收听示例表的创建:
数据被正确复制,但在这种情况下,EventSource没有检测到SampleSheet.csv
. 通过进行一些测试,我注意到该字段path:
需要一个文件或文件夹,但是当我使用路径时,EventSource 不起作用,就像我的情况一样。解决这种特殊情况可能很容易,我按如下方式更改 EventSource
并且样本表的创建被捕获,但是将只有写入的内容path:
,我还需要运行文件夹名称。
但问题是,在实际场景中,运行文件夹名称会发生变化,但遵循与我在此处使用的文件夹相同的模式 ( 210818_M70903_0027_000000000-JVRB4
)。因此我的计划是使用正则表达式来捕获 [path_of_new_run_folder]/SampleSheet.csv,我认为我不能在directory:
但只能在pathRegexp:
我希望我很清楚我的问题是什么,请让我知道如何解决这个问题。
argoproj - 在意外或特定 HTTP 状态代码上重试 HTTP 触发器
使用 Argo-Events Sensor 'HTTP Trigger' ( Docs ) 可以设置一个 'retryStrategy' 如果调用的服务不可访问或连接断开:
也可以为允许的 HTTP 响应状态代码添加“策略”:
如果 HTTP 请求返回不在“允许”列表中的状态代码,则会记录错误 - 但不会重试。
如果 HTTP 请求返回不在允许列表中的状态代码和/或是否可以为特定状态代码配置重试,是否可以配置重试?
argoproj - 如果 'HTTP Trigger'-Sensor 不成功,则进行 Hook-Call
使用 Argo-Events Sensor 'HTTP Trigger' ( Docs ) 可以设置 'retryStrategy' 和 'policy':
如果出现错误(例如,我们在 'retryStrategy' 中达到了 'steps'-limit 或者被调用的服务返回了一个不在 'allow'-list 中的状态码)——是否可以调用一些钩子?这样我们就可以调用其他服务来告诉它“HTTP 触发器”没有成功?
kubernetes - 如何在我的 Argo 工作流程中使用 ConfigMap 中的 JSON 数组作为参数?
我正在尝试读取在 ConfigMap 中存储为 Json 的 url 列表,然后将这些作为参数传递给我的 Argo 工作流程的下一步。
我的配置图如下所示:
我的工作流模板如下所示(为简洁起见,省略了元数据):
get-urls
这会加载 ConfigMap 文件,我可以看到输出下的步骤中列出的 url 。当它尝试执行该url-thingy
步骤时,它会失败并显示以下消息:
我觉得我接近解决方案,但我不确定我哪里出错了?withParam 是访问我的列表的正确方法吗?