好吧,首先让我描述一下我的工作情况,这是很清楚为什么这是一个有关系统pipe理的问题。 我在一家大型IT解决scheme公司工作,这家公司正在为一家大型电信公司运营大型电子邮件服务(500万用户)。 这个门户网站的一个主要问题是用户被botnetworking泄露,这样他们就可以用来发送垃圾邮件,大概每天发送100000个垃圾邮件。 该门户网站的投诉电子邮件地址收到ARF报告的速度可能为每分钟1次,可能为每天1000-2000次。 任何这些报告都必须手动查看,分析处理和存档。 由于没有人力分配到这个任务,报告基本上被忽略,导致垃圾邮件的增加到门户电子邮件服务器被全部列入黑名单的水平。 我希望有一个自动化的框架,可以自动识别要处理的合法报告,而有些报告还需要人工分析,如果任务非常简单,可以委托给离岸人员描述和执行。 我应该强调的是,我不需要帮助实现这些步骤,其中大部分是1行shell脚本加上几个访问外部工具的脚本,我正在寻找一个工具来将不同的步骤串在一起。
我正在考虑沿着Gearman的路线,遇到的问题procmail符合Jenkins符合RequestTracker符合Ansible(如果你喜欢满足Actor模型),但我认为这样的工具是不可用的。 必须有一些工具来自动化至less某些部分,因为投诉处理必须是任何中等到大规模的电子邮件门户网站上的一个问题,其中不止一个人运行电子邮件系统。
(我希望这个解释足以激发这个问题的相关性,如果不是的话,我真的不会这样做,或者这个问题在这个门户网站上是错误的,但是如果是的话,哪一个是适用的?)
我会自动执行几个任务,以某种方式处理文件,做一些决定,调用一些脚本,在某些情况下还有一些需要人工干预的任务。
我的例子用例如下(手工完成时)
大多数这些步骤可以很容易地自动化,例如Perl脚本,但我不知道如何自动化连续的步骤,特别是如果有条件和先决条件和一些任务可以一起收集和运行,如果有几个待办事项已经挂起例如,只有在find10个用户或者在过去一小时左右没有运行任务的情况下,才search队列。
某些决策可能需要人为干预(例如,查看无法自动识别的邮件)或调整决策过程,以便能够使用更改后的脚本再次运行某些步骤会有所帮助。
我认为有可能有某种工作调度,但我想知道如何定义必要的步骤,条件和先决条件。
(请注意,我不search可以执行所描述任务的工具,其中大部分很容易实现为脚本,而是一个工具来组织一个给定的任务数据必须完成的任务序列)
我宁愿在Linux上运行FOSS解决scheme。
这是很难回答的,因为有几个移动部件和一些可能需要人为干预的地方。 我build议从脚本语言的顶端开始,您可以select使用脚本语言,或者是技术上优先使用的脚本语言(例如,如果您是Windows商店,那么PowerShell,如果您只是其他任何东西 – 使用其他任何东西)。 将您不需要人工看待的逻辑部分分组并编写脚本。 生成报告或在某个地方填充数据库,然后慢慢地完善stream程。 我不知道一个单一的工具,你可以使用一个精心编写的脚本以外的特定环境。