gpt4 book ai didi

javascript - 在delayed_job之后渲染javascript

转载 作者:行者123 更新时间:2023-11-28 05:53:11 24 4
gpt4 key购买 nike

用户提交请求后,我需要在后台做一些处理。工作完成后,我想向用户显示一条消息,表明您的工作已完成。

到目前为止我已经有了这个

lib/jobs/custom_job.rb

class CustomJob

def perform
sleep 1 # Here will do the background processing.
ActionView::Base.new('app/views', {}, ActionController::Base.new).render(file: 'teacher/courses/custom')
end
end

自定义.js

$(document).ready(function() {
alert("Your job is done.");
});

Controller

class Teacher::CoursesController < ApplicationController

def index
Delayed::Job.enqueue(CustomJob.new)
@courses = current_teacher.courses.all
end
end

工作人员开始一项工作并顺利完成。

[Worker(host:Aragorn pid:3360)] Job CustomJob (id=16) COMPLETED after 1.0635
[Worker(host:Aragorn pid:3360)] 1 jobs processed at 0.9035 j/s, 0 failed

提前致谢。

最佳答案

您需要在前端有某种轮询接口(interface),以查找后端对象上的完整事件,或者使用某种服务,例如 Pusher.com。

我们经常这样做,这是我们发现的更好的模式之一,它允许用户重新加载/离开页面,并返回到通知仍然可用,如果它仍然等待完成。

Possible example to check out

关于javascript - 在delayed_job之后渲染javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37931154/

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