包裹一个VPN连接的队列中的作业



我在为该问题编写代码时遇到问题。我的应用程序需要VPN连接才能从其他系统下载一些信息
所以,我创建了多个作业来从另一个系统下载一些信息,每个作业都应该是建立VPN连接,下一次下载数据,最后关闭连接。我想包装所有这些工作,甚至一个将处理VPN连接,只有一个建立一个关闭的连接。

我认为我应该使用一个队列——"VPN作业",并将其他作业放在其他队列中执行。

要建立VPN连接,我必须使用jnc(Juniper网络连接)。我想用ActiveJob和resque运行作业。

我希望我解释了一些可以理解的:)

更新图像是为了更好地理解
-VPN-包装队列到VPN连接
-Q1、Q2、Q3-一些作业的队列需要vpn连接

我认为您应该使用resque batched job gem来将您的作业组织成批。此gem提供after_enqueueafter_batch挂钩。您可以使用它们来建立和关闭VPN连接。

我不确定,但可能这个宝石有能力组织嵌套的批次。在这种情况下,您可以创建一个主批处理作业,该作业建立到VPN的连接,并运行嵌套的批处理作业以在不同的队列中上载图像。

仅供参考:Sidekiq开箱即用,但在Pro版本中具有相同的功能(批次部分)。

最新更新