我有一个列表,列出了我可以使用命令
获得的所有预定作业延迟:: 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对象发送额外的参数,以后可以使用它而不是在处理程序字符串中搜索。 或者,如果不是这样,我可以获得处理程序的参数列表,而不是解析字符串并使用它。
请帮忙!
答案 0 :(得分:2)
对于Delayed :: Job实例,有一个方法<asp:Content ID="Content3" ContentPlaceHolderID="newcontentplaceholder" runat="server">
</asp:Content>
,它返回反序列化的处理程序
instance_object
您可以根据需要使用处理程序,例如job = Delayed::Job.first
handler = job.payload_object