diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index 2f83e8476..af8a9dacb 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -901,7 +901,20 @@ class ProjectsController < ApplicationController begin res = uri_exec uri, params # 任务开启成功后创建一条留言提示,并发布 - @training_task.update_attribute(:status, 2) + # @training_task.update_attribute(:status, 2) + # 轮询获取 + for i in 0..10 do + sleep(10) + status = TrainingTask.where(:id => @training_task.id).first.try(:status) + if (status == 1 || status == 0) + @training_task.status = status + break + if i == 120 + break + end + end + end + return rescue Exception => e puts e @@ -948,7 +961,7 @@ class ProjectsController < ApplicationController def training_task_status status = params[:status].to_i task_id = params[:taskId] - message = Base64.decode64(params[:msg]) + message = Base64.decode64(params[:msg]) unless params[:msg].blank? begin @training_task = TrainingTask.find(task_id) # 如果已经执行成功过,则不重复执行 diff --git a/app/views/projects/_act_training_tasks.html.erb b/app/views/projects/_act_training_tasks.html.erb index a0251c144..a7403f948 100644 --- a/app/views/projects/_act_training_tasks.html.erb +++ b/app/views/projects/_act_training_tasks.html.erb @@ -1,3 +1,4 @@ +<% project = Project.find(project_id) %> <% unless activity.author.nil? %>
@@ -11,7 +12,7 @@ TO <%= link_to activity.project.name.to_s+" | 实训任务", project_training_tasks_path(activity.project), :class => "newsBlue ml15"%>
- <% if !@project.is_child_training_project? && User.current.logged? && (is_project_manager?(User.current.id, project_id) || activity.author_id == User.current.id) %> + <% if !project.is_child_training_project? && User.current.logged? && (is_project_manager?(User.current.id, project_id) || activity.author_id == User.current.id) %>
+ +