问题标签 [argo-events]
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.
github - 从传感器覆盖 Argo 工作流 generateName
我正在研究自定义工作流程名称。我看到它argo submit --generate-name
可以覆盖该.metadata.generateName
属性,但有谁知道这是否可以Sensor
触发 a Workflow
?
我正在使用 GitHub 事件来触发这些工作流,但最好将存储库名称从事件中提取出来并将其设置为generateName
工作流上的。
这是我希望工作的一个例子,但据我所知似乎没有。也许我的语法错误?有谁知道这样的事情是否可能?
(注意,我已经删除了这个传感器的很大一部分,以便只显示重要部分。基本上,我想解析存储库名称的 GitHub 事件有效负载。在工作流参数上设置它。然后使用这些来覆盖工作流的generateName
属性。)
argo-workflows - 为什么 Argo 事件总是处于 Pending 状态?
我已经在 minikube 中按照示例https://argoproj.github.io/argo-events/sensors/triggers/argo-workflow/进行了操作,在 curl 发布之后,我只是通过 argo list -n argo-events 获得处于待处理状态的事件。有人可以指出我可能有什么问题吗?
argo-workflows - Argo 工作流程 + 绩效评估 + 指标
我们正在评估 Argo 工作流程的性能并尝试对其进行基准测试。可以肯定的是,Argo 涉及的组件数量少于 Airflow,但我们想了解大规模运行时的各种潜在瓶颈。
以下 ( https://argoproj.github.io/argo-workflows/metrics/ ) 是 Argo-workflows (localhost:9090/metrics) 的 workflow-controller-metrics,寻找对这些的解释。
- 看到列出的 5 个不同的队列(cron_wf_queue、pod_queue、wf_cron_queue、workflow_queue、workflow_ttl_queue),每个队列的意义是什么?
2)以下指标是什么意思?这里的“乐”是什么?
go - Argo 事件:在传感器中使用数据过滤器来识别 mono-repo 中修改/添加/删除的路径
我正在为我的 CI/CD 链使用 Argo Events 和 Argo Workflow,它工作得非常整洁。但是我在为我的 mono repo的GitHub webhook 有效负载设置数据过滤器时遇到了一些麻烦。
如果文件在某个子路径中发生更改,我试图让传感器仅触发定义的工作流程。有效负载包含添加、删除、修改三个字段。那里列出了在此提交中更改的文件(webhook-events-and-payloads#push)。
我正在寻找的路径是service/jobs/*
和service/common*/*
。
我定义的过滤器是:
我在一个很小的Go脚本中验证了我的过滤器,因为Argo Events 使用gjson来应用数据过滤器。
该脚本给了我预期的结果。但是对于相同的 webhook 有效负载,在将数据过滤器添加到传感器时不会触发工作流。
有人有什么想法吗?
更新:
感谢您的提示,包括。body.
在路径中。
我最终设置了过滤器:
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 触发器”没有成功?
argo-workflows - Argo-Events Sensor HTTPTrigger:从输入事件填充标头
我正在尝试将来自 Webhook 的传入值绑定到 Sensor HTTPTrigger 标头,并将此标头作为授权标头发送到 REST API。如果可能的话,我在文档中没有找到,所以我尝试了这种方法(没有用):
我很感激有关如何将传入的事件值映射到标头的建议。
event-handling - 通知 argo 工作流程完成
我有一个用例,我从 python 应用程序触发 argo 工作流。但是,我需要一个来自 argo 工作流的机制,它应该在工作流执行完成时通知我的 python 应用程序。我已经在我的 python 应用程序中使用了一个 pub sub mechansim。因此,希望我的 python 应用程序订阅一个 redis 队列,并在工作流在此队列上发布一条消息通知其完成后采取行动。这就是我要找的交互流程Workflow——-> Redis队列——> Python应用程序感谢您的帮助