0

有没有人推荐一个好的框架来处理面向文件的事务的处理阶段。我们的场景很简单——我们接收文件,验证它,如果有问题我们中止并生成报告。如果文件好,进入下一阶段。在某些阶段,可以提取并进一步处理一些有效数据,而保留一些无效数据并报告错误。

有人可能会争辩说 ESB 可以用来做到这一点,但我真的在寻找一种比拥有 shell 脚本和 cron 作业更自动化的东西。

有没有人为这些文件监视、移动和工作触发任务推荐一个好的开源框架?

4

1 回答 1

2

非常小规模

incron(基于inotify的cron)和每个作业作为一个脚本。

非常简单,允许您将文件放到指定的目录中,并且作业将自动提交给脚本。

但是,这确实需要您自己实现日志记录和文件改组。它还要求您实现一个(简单的)框架来识别在记录/提交成功或错误时所需的作业。

/var/processing/incoming/job1/ IN_CLOSE_WRITE /usr/local/bin/job1.bin $@/$#

中小规模

芹菜和共享存储*。

设置 celery 的初始投资是值得的,您可以获得错误报告和可靠的处理框架。

中小规模

延迟作业和共享存储*。

像芹菜,但特定于红宝石。有一个整洁的 gui

大规模(只是为了踢)

路易吉Hadoop

Luigi 用于处理,Hadoop 用于存储和提供您的工作数据。

共享存储*:NFS 将是跨节点共享文件的绝对最简单的方式,您将文件提交到存储解决方案,并在提交到相关框架的作业中引用该文件。

全面披露:我为 Spotify 工作。

于 2012-12-04T19:09:02.907 回答