来自包装一个 VPN 连接的队列的作业

Jobs from queues wrapping one VPN conection

我无法为该问题编写代码。我的应用程序需要 VPN 连接才能从其他系统下载一些信息。
所以,我创建了多个作业来从另一个系统下载一些信息,每个作业都应该建立 VPN 连接,然后下载数据,最后关闭连接。我想包装所有这些作业,即使是处理 VPN 连接的作业,也只有一个建立紧密连接。

我认为我应该使用一个队列 - 'VPN Jobs' 并将将在其他队列中执行的其他作业放在那里。

要建立 VPN 连接,我必须使用 jnc (Juniper network connect)。 我想 运行 使用 ActiveJob 和 resque 的工作。

我希望我的解释能理解一些:)

更新 Image为了更好的理解。
- VPN - 包装队列到 VPN 连接
- Q1、Q2、Q3 - 一些工作队列需要 vpn 连接

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

我不太确定,但这个 gem 可能具有组织嵌套批处理的能力。在这种情况下,您可以创建一个主批处理作业,它建立与 VPN 的连接和 运行 嵌套批处理作业,用于在不同队列中上传图像。

仅供参考:Sidekiq 有开箱即用的 same functionality (Batch section),但在专业版中。