如何处理后台工作以及最佳实践和原则

时间:2019-04-30 11:46:46

标签: java jms activemq background-process job-scheduling

我要处理几个后台作业。例如,下订单后,需要两项工作,一项发送订单确认电子邮件,第二项获得订单要约。在后台需要许多此类作业处理才能完成订单,其中大多数需要对其他应用程序的api调用。因此,在http通信失败的情况下,每项作业也应具有重试功能。

我需要有关如何管理此待办事项/工作的建议。例如在哪里保存它们,如何处理它们等等。

我有两个已知的选择。我们已经做过的第一个选择是将它们存储在表中的应用程序数据库中,每个新记录都有作业类型和订单号。然后一个进程读取它并处理作业并从表中删除。

现在我们正在考虑增加对它的重审支持。并发现此类作业处理应使用消息传递队列(Activemq)完成。可以在需要时将新作业添加到队列中,以便可以用于重试和安排计划交付。

问题是通常期望如何完成。如何比较这两种选择。我正在使用Java以及是否有用于相同目的的Java框架。

0 个答案:

没有答案