如何获取delayed_job rails

时间:2017-10-11 08:51:31

标签: ruby-on-rails-4 arguments handler delayed-job

我有一个列表,列出了我可以使用命令

获得的所有预定作业
  

延迟:: Job.all

每个作业都有一个处理程序字段(字符串),其中包含一个' - '分隔的参数。我想找到这个字符串的一个参数。一种方法显然是拆分字符串并提取值,但如果传递的参数列表中有任何更改,则此方法将失败。

下面给出了我的一个作业对象的处理程序字符串:

  

“---!ruby / object:ActiveJob :: QueueAdapters :: DelayedJobAdapter :: JobWrapper \ njob_data:\ n job_class:ActionMailer :: DeliveryJob \ n job_id:7ce42882-de24-439a-a52a-5681453f4213 \ n queue_name: mailers \ n参数:\ n - EventNotifications \ n - reminder_webinar_event_registration \ n - deliver_now \ n - mail@gmail.com \ n - yesha \ n - 89 \ n locale :: en \ n“

我想知道是否有任何方法,我可以在保存它时向job对象发送额外的参数,以后可以使用它而不是在处理程序字符串中搜索。 或者,如果不是这样,我可以获得处理程序的参数列表,而不是解析字符串并使用它。

请帮忙!

1 个答案:

答案 0 :(得分:2)

对于Delayed :: Job实例,有一个方法<asp:Content ID="Content3" ContentPlaceHolderID="newcontentplaceholder" runat="server"> </asp:Content> ,它返回反序列化的处理程序

instance_object

您可以根据需要使用处理程序,例如job = Delayed::Job.first handler = job.payload_object