gpt4 book ai didi

mysql - 更新 rake 进度(如果可能,使用 AJAX)

转载 作者:行者123 更新时间:2023-11-30 01:00:17 25 4
gpt4 key购买 nike

我有一个rake运行类的任务Bootlib名为 Database 的文件夹内的目录谁的rake代码如下:

namespace :trigger do
task :something do
opt = ENV['OP']
Database::Boot.new opt
end
end

我通过system来调用它 Controller 中的命令:

system "rake trigger:something OP=1 &"

通过rake调用的类任务将记录插入 MySQL table 。问题是,我正在 Boot 中进行成功计数。类,我想定期更新我的 View Id插入的记录和 success count对于初学者。我尝试过以下方法,但都不起作用:

  1. 写了一个setInterval()不断触发 submit 的函数关于remote form出现在页面上触发 AJAX调用,这将呈现 JS文件从 cache 获取变量.

  2. 尝试使用Observable : http://ruby-doc.org/stdlib-2.0.0/libdoc/observer/rdoc/Observable.html

  3. Rails.cache.writeRails.cache.read没用!

  4. 尝试生成 thread运行rake任务,并尝试使用 thread_variable_getthread_variable_set ,这也不起作用。

  5. 尝试写一个helper呈现 JS 的方法片段,并尝试在 Boot 中调用它类包括 ApplicationHelper模块。

我想传递来自 Boot 的数据类到 Controller ,可以通过 AJAX 附加到 View 中或通过任何其他方式。我正在使用Rails 2.3.18Ruby 1.8 .

最佳答案

您正在子进程而不是线程中执行 rake 任务。尝试直接调用 rake 任务:

ENV['OP'] = '1'
Rake::Task.invoke "trigger:something"

现在 Boot 类将在同一个线程中运行,您可以调用它的方法来获取所需的数据。

关于mysql - 更新 rake 进度(如果可能,使用 AJAX),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20197398/

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