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

时间:2015-02-27 05:51:29

标签: ruby-on-rails wrapper resque rails-activejob

我遇到了解决该问题的代码问题。我的应用程序需要VPN连接才能从其他系统下载一些信息 因此,我创建了多个作业来从另一个系统下载一些信息,每个作业应该建立VPN连接,然后下载数据,最后关闭连接。我想将所有这些工作包装起来,即使是一个能够处理VPN连接的工作,也只能建立一个紧密连接。

我认为我应该使用一个队列 - ' VPN工作'并将其他工作放在其他队列中。

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

我希望我解释说这是可以理解的:)

更新 Image以便更好地理解   - VPN - Wrapper队列到VPN连接
  - Q1,Q2,Q3 - 需要一些工作的队列vpn连接

1 个答案:

答案 0 :(得分:1)

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

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

仅供参考:Sidekiq开箱即用same functionality (Batch section),但在Pro版本中。