Delayed_job:定义时间

| 因此,我试图弄清楚如何做到这一点。为了使示例简单,我假设有一个对象“ 0”,在其中定义两次,我想向会议中的人们发送两封不同的电子邮件。 在我的“ 0”模型中,我想定义两个方法(而不是拥有自己的延迟作业类),但是我需要让那些方法查看对象内定义的时间,以便知道何时发送。
def send_first
  ... do stuff
end
handle_asynchronously :send_first, :run_at => Proc.new { send_first_time }
问题在于,根据文档,
send_first_time
必须是一个类方法,并希望它是一个实例方法,以便我可以看到用户定义的时间。 我该怎么做呢?还是只需要创建两个单独的Delayed_job类并执行以下操作:
Delayed::Job.enqueue(SendFirstJob.new, :run_at => send_first_time)
已邀请:
我相信handle_asynchronously将该对象的属性传递给Procs,因此:
handle_asynchronously :send_first, :run_at => Proc.new { |obj| obj.send_first_time }
您可以随时滚动自己的异步包装器
def send_first_async(*args)
  delay(:run_at => send_first_time).send_first(*args)
end
我最终使用了第二种方法。尽管它不像我希望的那样对时间敏感。 如果有人对如何使ѭ3成为基于用户输入的变量有一个答案,我很乐意接受它作为正确的答案。谢谢。

要回复问题请先登录注册