gpt4 book ai didi

ruby-on-rails - 延迟作业 - 按对象 ID 查找

转载 作者:太空宇宙 更新时间:2023-11-03 16:23:45 26 4
gpt4 key购买 nike

我使用的是 Rails + DelayedJob Mongoid。我有这个模型:

class User
def run
...
end
end

我创建新的 Dejayed::Job 对象:

user = Use.create
user.delay.run

我怎样才能做这样的事情?

Delajed::Job.where(object_id: user.id)

最佳答案

我不确定这是否适用于您的情况。

如果您有 delayed_job 对象 ID,您可以像普通的 activerecord 对象一样简单地找到它。

# find a job by id
job = Delayed::Job.find(params[:id])

现在当你没有 id 的时候。然后在作业本身的创建过程中添加一些独特的东西

users_controller.rb

user = User.create

user.rb

def delayed_run
my_job = MyJob.new('xyz')
job = Delayed::Job.enqueue(run, 0, 1.hour.from_now)
job.user_id = self.id
end

所以在这之后,你可以从唯一的user_id中找到你延迟的工作对象

Delayed::Job.where(user_id: 5)

关于ruby-on-rails - 延迟作业 - 按对象 ID 查找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29296872/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com