Scripting 自动化及;不同任务的管道

Scripting 自动化及;不同任务的管道,scripting,automation,build-system,staf,jython,Scripting,Automation,Build System,Staf,Jython,我正在寻找一个非常通用的自动化/任务执行工具的建议。范围介于脚本、构建系统(如make)和编排工具(如Ansible或Puppet)之间。我所能做的就是描述我相当模糊的“需求”,并希望找到其他人如何解决这些问题的线索。抱歉这么长的描述,我想我真的不知道我到底想让他做什么。我一直从编程答案中获益,但我不完全确定我的开放式问题在这里是否可以接受 -- 我们在公司环境中担任数据分析师/系统验证人。我们执行一系列不同的任务,并与许多不断变化的系统进行交互。我们所做的每一小步都可以说是平淡无奇/简单的,但

我正在寻找一个非常通用的自动化/任务执行工具的建议。范围介于脚本、构建系统(如make)和编排工具(如Ansible或Puppet)之间。我所能做的就是描述我相当模糊的“需求”,并希望找到其他人如何解决这些问题的线索。抱歉这么长的描述,我想我真的不知道我到底想让他做什么。我一直从编程答案中获益,但我不完全确定我的开放式问题在这里是否可以接受

-- 我们在公司环境中担任数据分析师/系统验证人。我们执行一系列不同的任务,并与许多不断变化的系统进行交互。我们所做的每一小步都可以说是平淡无奇/简单的,但只有在重复大量使用略有不同的输入或组合的迭代时,才会形成更大的图景。这有点像在干草堆里找针,但具体问题每次都略有不同。这使得使用普通脚本或自动化工具变得很困难,这需要更多的结构才能工作。但是,在没有大团队的情况下,半手工操作不允许我们涵盖所有我们想要/需要的分析/案例

举一个应用示例:典型的任务可能涉及在供应商系统中设置大型计算,从web服务器提取ASCII输出并对其进行解析。然后,我们将从一组配置文件和数据库中提取原始输入数据。这是通过我们的一些国产复制工具/模型在C++中移植的。然后,系统的结果和我们的复制都会被扫描,以查找有趣的异常值(例如,回归测试),只有这个子集会被上传给人类分析师进行调查,并在Excel表格中很好地呈现出来

我们可以一次性手工完成所有这些事情,或者使用特别的工具/脚本。我们只是不能在如此细微的不同设置下重复进行。我们似乎需要一个“普通任务”库,这些任务只需要一些输入(例如,任务it下载一个时间序列并扫描异常值-参数是db access/login,可能是定义该上下文中异常值的参数)。然后,我需要将这些任务链接在一起,使复杂的任务可以重复,并且可以从原子步骤简单地构建

我还没有发现任何东西真的能做这样的事情。似乎每个利基都有专门的脚本或工具,但并没有结合我需要执行的所有不同任务的东西

到目前为止,我一直在玩弄一个极简的sqlite数据库,它控制着一组python“脚本”/包装器。这些脚本从数据库获取输入参数,并基于数据库链接/管道。脚本将其结果写回数据库,主要是以纯文本和float/int的形式。这种数据库接口对人类来说非常容易出错和复杂;其想法是让(模板)脚本将(具体的/参数化的)脚本写入db以执行,就像在执行之前将其自身展开一样。不确定这是否是一个明智的想法,但db正在驱动脚本,这些构建块脚本之间没有太多交互;而不是让传统的一堆脚本互相调用,然后将一些数据转储到数据库中作为事后考虑。到目前为止,我们有很多单独的包装器(脚本)来与所有系统进行对话并完成工作,但真正缺少的是将所有系统捆绑在一起并对其进行控制

我(显然)更感兴趣的是数据/流的透明度、可重复性和将微型程序链接到更大的单元,而不是速度或扩展到更大的数据集。所有重举都是在我们交互的系统中完成的,或者是从这些python脚本调用C++的。这不是一个具有更高稳定性和固定目标的生产系统,而是一个灵活的分析/调查助手


我真希望这里的某个人以前正好碰到了严重限制我们生产力的问题,我们可以把你的解决方案或想法退回去。

我建议你考虑一下。它是开源、分布式和跨平台的。它将在任何平台上运行任何任务。它有多种插件“服务”可用于特定目的,或者您可以创建自己的自定义服务。您还可以通过脚本()扩展功能。IBM还通过用户论坛对其进行了详细的文档记录和合理的支持