0

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

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

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

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

更新 图像以获得更好的理解。
- VPN - 到 VPN 连接的包装器队列
- Q1、Q2、Q3 - 需要一些作业的队列 vpn 连接

4

1 回答 1

1

我认为您应该使用resque-batched-job gem 将您的工作分批组织。这颗宝石提供after_enqueueafter_batch钩子。您可以使用它们来建立和关闭 VPN 连接。

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

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

于 2015-02-27T09:42:36.630 回答