在控制器的操作中,我会销毁一条记录,然后将其作为参数传递给ActiveJob。
def destroy
post = Post.find params[:id]
post.destroy
CleanUpJob.perform_later post
end
在我的工作中,我需要对被删除的记录进行一些清理操作。
def perform(post)
log_destroyed_content post.id, post.title
end
当我使用.perform_later调用它时,它根本不执行。但是当我改为使用.perform_now时,它按预期工作。这个任务需要处理已经销毁和持久化的记录。
我正在使用最新版本的Rails,在开发环境下使用默认的异步activejob适配器。