+# Copyright (C) The Arvados Authors. All rights reserved.
+#
+# SPDX-License-Identifier: AGPL-3.0
+
class JobsController < ApplicationController
- include JobsHelper
+ skip_around_filter :require_thread_api_token, if: proc { |ctrl|
+ Rails.configuration.anonymous_user_token and
+ 'show' == ctrl.action_name
+ }
def generate_provenance(jobs)
return if params['tab_pane'] != "Provenance"
@svg = ProvenanceHelper::create_provenance_graph nodes, "provenance_svg", {
:request => request,
+ :direction => :top_down,
:all_script_parameters => true,
:script_version_nodes => true}
end
end
def logs
- @logs = Log.select(%w(event_type object_uuid event_at properties))
- .order('event_at DESC')
- .filter([["event_type", "=", "stderr"],
- ["object_uuid", "in", [@object.uuid]]])
- .limit(500)
- .results
- .to_a
- .map{ |e| e.serializable_hash.merge({ 'prepend' => true }) }
+ @logs = @object.
+ stderr_log_query(Rails.configuration.running_job_log_records_to_fetch).
+ map { |e| e.serializable_hash.merge({ 'prepend' => true }) }
respond_to do |format|
format.json { render json: @logs }
end
def show_pane_list
%w(Status Log Details Provenance Advanced)
end
-
- def rerun_job_with_options_popup
- respond_to do |format|
- format.js
- format.html
- end
- end
-
- def rerun_job_with_options
- job_info = JSON.parse params['job_info']
-
- @object = Job.new
-
- @object.script = job_info['script']
- @object.repository = job_info['repository']
- @object.nondeterministic = job_info['nondeterministic']
- @object.script_parameters = job_info['script_parameters']
- @object.runtime_constraints = job_info['runtime_constraints']
- @object.supplied_script_version = job_info['supplied_script_version']
-
- if 'use_latest' == params['script']
- @object.script_version = job_info['supplied_script_version']
- else
- @object.script_version = job_info['script_version']
- end
-
- @object.save!
- show
- end
end