有没有人有一个好的框架来推荐处理的处理阶段 面向文件的事务。我们的场景很简单 - 我们收到文件,验证它,如果出现问题我们中止并生成报告。如果文件好,进入下一阶段。在某些阶段,可以提取并进一步处理一些有效数据,并保留一些无效数据并报告错误。
有人可以说ESB可以用来做这件事,但我真的在寻找比拥有shell脚本和cron作业更自动化的东西。
有没有人有一个好的开源框架来推荐这些文件观看,移动和作业触发任务?
答案 0 :(得分:2)
非常小规模
incron(基于inotify的cron)和每个作业作为单个脚本。
非常简单,允许您将文件放入指定目录,并将作业自动提交给脚本。
但是,这需要您自己实现日志记录和文件重排。它还要求您实现一个(简单的)框架,用于识别在记录/提交成功或错误时所需的作业。
/var/processing/incoming/job1/ IN_CLOSE_WRITE /usr/local/bin/job1.bin $@/$#
小/中等级
Celery和共享存储*。
设置芹菜的初始投资是值得的,您可以获得错误报告和可靠的处理框架。
小/中等级
Delayed Job和共享存储*。
像芹菜一样,但特别是红宝石。有一个neat gui。
大规模(仅限于踢腿)
Luigi用于处理,Hadoop用于存储和提供您的工作数据。
共享存储 *:NFS是跨节点共享文件的绝对最简单方式,您向存储解决方案提交文件,并在提交给关联框架的作业中提交该文件。
完全披露:我为Spotify工作。