jamesrwhite / minicron

🕰️ Monitor your cron jobs
GNU General Public License v3.0
2.34k stars 154 forks source link

NoMethodError at /execution/2 #243

Closed vparmeland closed 7 years ago

vparmeland commented 7 years ago

Hi,

Minicron perfectly working but after delete host = crash

error

`Traceback (innermost first)

/opt/minicron/lib/vendor/ruby/2.2.0/gems/minicron-0.9.6.1467466137/lib/minicron/hub/views/executions/show.erb: in block in singleton class
        <a href="<%= "#{route_prefix}/job/#{@execution.job.id}/edit" %>" class="pull-right btn btn-warning btn-sm">Edit</a>...
/opt/minicron/lib/vendor/ruby/2.2.0/gems/tilt-1.4.1/lib/tilt/template.rb: in call
          method.bind(scope).call(locals, &block)...
/opt/minicron/lib/vendor/ruby/2.2.0/gems/tilt-1.4.1/lib/tilt/template.rb: in evaluate
          method.bind(scope).call(locals, &block)...
/opt/minicron/lib/vendor/ruby/2.2.0/gems/tilt-1.4.1/lib/tilt/template.rb: in render
          evaluate scope, locals || {}, &block...
/opt/minicron/lib/vendor/ruby/2.2.0/gems/sinatra-1.4.7/lib/sinatra/base.rb: in render
            output          = template.render(scope, locals, &block)...
/opt/minicron/lib/vendor/ruby/2.2.0/gems/sinatra-1.4.7/lib/sinatra/base.rb: in erb
          render(:erb, template, options, locals, &block)...
/opt/minicron/lib/vendor/ruby/2.2.0/gems/minicron-0.9.6.1467466137/lib/minicron/hub/controllers/executions.rb: in block in <class:App>
        erb :'executions/show', :layout => :'layouts/app'...
/opt/minicron/lib/vendor/ruby/2.2.0/gems/sinatra-1.4.7/lib/sinatra/base.rb: in call
              proc { |a,p| unbound_method.bind(a).call }...
/opt/minicron/lib/vendor/ruby/2.2.0/gems/sinatra-1.4.7/lib/sinatra/base.rb: in block in compile!
              proc { |a,p| unbound_method.bind(a).call }...
/opt/minicron/lib/vendor/ruby/2.2.0/gems/sinatra-1.4.7/lib/sinatra/base.rb: in []
                route_eval { block[*args] }...
/opt/minicron/lib/vendor/ruby/2.2.0/gems/sinatra-1.4.7/lib/sinatra/base.rb: in block (3 levels) in route!
                route_eval { block[*args] }...
/opt/minicron/lib/vendor/ruby/2.2.0/gems/sinatra-1.4.7/lib/sinatra/base.rb: in route_eval
          throw :halt, yield...
/opt/minicron/lib/vendor/ruby/2.2.0/gems/sinatra-1.4.7/lib/sinatra/base.rb: in block (2 levels) in route!
                route_eval { block[*args] }...
/opt/minicron/lib/vendor/ruby/2.2.0/gems/sinatra-1.4.7/lib/sinatra/base.rb: in block in process_route
            block ? block[self, values] : yield(self, values)...
/opt/minicron/lib/vendor/ruby/2.2.0/gems/sinatra-1.4.7/lib/sinatra/base.rb: in catch
          catch(:pass) do...
/opt/minicron/lib/vendor/ruby/2.2.0/gems/sinatra-1.4.7/lib/sinatra/base.rb: in process_route
          catch(:pass) do...
/opt/minicron/lib/vendor/ruby/2.2.0/gems/sinatra-1.4.7/lib/sinatra/base.rb: in block in route!
              returned_pass_block = process_route(pattern, keys, conditions) do |*args|...
/opt/minicron/lib/vendor/ruby/2.2.0/gems/sinatra-1.4.7/lib/sinatra/base.rb: in each
            routes.each do |pattern, keys, conditions, block|...
/opt/minicron/lib/vendor/ruby/2.2.0/gems/sinatra-1.4.7/lib/sinatra/base.rb: in route!
            routes.each do |pattern, keys, conditions, block|...
/opt/minicron/lib/vendor/ruby/2.2.0/gems/sinatra-1.4.7/lib/sinatra/base.rb: in block in dispatch!
            route!...
/opt/minicron/lib/vendor/ruby/2.2.0/gems/sinatra-1.4.7/lib/sinatra/base.rb: in block in invoke
          res = catch(:halt) { yield }...
/opt/minicron/lib/vendor/ruby/2.2.0/gems/sinatra-1.4.7/lib/sinatra/base.rb: in catch
          res = catch(:halt) { yield }...
/opt/minicron/lib/vendor/ruby/2.2.0/gems/sinatra-1.4.7/lib/sinatra/base.rb: in invoke
          res = catch(:halt) { yield }...
/opt/minicron/lib/vendor/ruby/2.2.0/gems/sinatra-1.4.7/lib/sinatra/base.rb: in dispatch!
          invoke do...
/opt/minicron/lib/vendor/ruby/2.2.0/gems/sinatra-1.4.7/lib/sinatra/base.rb: in block in call!
          invoke { dispatch! }...
/opt/minicron/lib/vendor/ruby/2.2.0/gems/sinatra-1.4.7/lib/sinatra/base.rb: in block in invoke
          res = catch(:halt) { yield }...
/opt/minicron/lib/vendor/ruby/2.2.0/gems/sinatra-1.4.7/lib/sinatra/base.rb: in catch
          res = catch(:halt) { yield }...
/opt/minicron/lib/vendor/ruby/2.2.0/gems/sinatra-1.4.7/lib/sinatra/base.rb: in invoke
          res = catch(:halt) { yield }...
/opt/minicron/lib/vendor/ruby/2.2.0/gems/sinatra-1.4.7/lib/sinatra/base.rb: in call!
          invoke { dispatch! }...
/opt/minicron/lib/vendor/ruby/2.2.0/gems/sinatra-1.4.7/lib/sinatra/base.rb: in call
          dup.call!(env)...
/opt/minicron/lib/vendor/ruby/2.2.0/gems/rack-protection-1.5.3/lib/rack/protection/xss_header.rb: in call
            status, headers, body = @app.call(env)...
/opt/minicron/lib/vendor/ruby/2.2.0/gems/rack-protection-1.5.3/lib/rack/protection/base.rb: in call
            result or app.call(env)...
/opt/minicron/lib/vendor/ruby/2.2.0/gems/rack-protection-1.5.3/lib/rack/protection/base.rb: in call
            result or app.call(env)...
/opt/minicron/lib/vendor/ruby/2.2.0/gems/rack-protection-1.5.3/lib/rack/protection/path_traversal.rb: in call
            app.call env...
/opt/minicron/lib/vendor/ruby/2.2.0/gems/rack-protection-1.5.3/lib/rack/protection/json_csrf.rb: in call
            status, headers, body = app.call(env)...
/opt/minicron/lib/vendor/ruby/2.2.0/gems/rack-protection-1.5.3/lib/rack/protection/base.rb: in call
            result or app.call(env)...
/opt/minicron/lib/vendor/ruby/2.2.0/gems/rack-protection-1.5.3/lib/rack/protection/base.rb: in call
            result or app.call(env)...
/opt/minicron/lib/vendor/ruby/2.2.0/gems/rack-protection-1.5.3/lib/rack/protection/frame_options.rb: in call
            status, headers, body        = @app.call(env)...
/opt/minicron/lib/vendor/ruby/2.2.0/gems/rack-1.6.4/lib/rack/session/abstract/id.rb: in context
              status, headers, body = app.call(env)...
/opt/minicron/lib/vendor/ruby/2.2.0/gems/rack-1.6.4/lib/rack/session/abstract/id.rb: in call
              context(env)...
/opt/minicron/lib/vendor/ruby/2.2.0/gems/rack-1.6.4/lib/rack/nulllogger.rb: in call
          @app.call(env)...
/opt/minicron/lib/vendor/ruby/2.2.0/gems/rack-1.6.4/lib/rack/head.rb: in call
        status, headers, body = @app.call(env)...
/opt/minicron/lib/vendor/ruby/2.2.0/gems/sinatra-1.4.7/lib/sinatra/base.rb: in call
          result, callback = app.call(env), env['async.callback']...
/opt/minicron/lib/vendor/ruby/2.2.0/gems/sinatra-1.4.7/lib/sinatra/base.rb: in call
          @stack.call(env)...
/opt/minicron/lib/vendor/ruby/2.2.0/gems/rack-1.6.4/lib/rack/urlmap.rb: in block in call
            return app.call(env)...
/opt/minicron/lib/vendor/ruby/2.2.0/gems/rack-1.6.4/lib/rack/urlmap.rb: in each
          @mapping.each do |host, location, match, app|...
/opt/minicron/lib/vendor/ruby/2.2.0/gems/rack-1.6.4/lib/rack/urlmap.rb: in call
          @mapping.each do |host, location, match, app|...
/opt/minicron/lib/vendor/ruby/2.2.0/gems/rack-1.6.4/lib/rack/session/abstract/id.rb: in context
              status, headers, body = app.call(env)...
/opt/minicron/lib/vendor/ruby/2.2.0/gems/rack-1.6.4/lib/rack/session/abstract/id.rb: in call
              context(env)...
/opt/minicron/lib/vendor/ruby/2.2.0/gems/rack-1.6.4/lib/rack/showexceptions.rb: in call
          @app.call(env)...
/opt/minicron/lib/vendor/ruby/2.2.0/gems/rack-1.6.4/lib/rack/commonlogger.rb: in call
          status, header, body = @app.call(env)...
/opt/minicron/lib/vendor/ruby/2.2.0/gems/sinatra-1.4.7/lib/sinatra/base.rb: in call
            call_without_check(env)...
/opt/minicron/lib/vendor/ruby/2.2.0/gems/thin-1.6.3/lib/thin/connection.rb: in block in pre_process
            response = @app.call(@request.env)...
/opt/minicron/lib/vendor/ruby/2.2.0/gems/thin-1.6.3/lib/thin/connection.rb: in catch
          catch(:async) do...
/opt/minicron/lib/vendor/ruby/2.2.0/gems/thin-1.6.3/lib/thin/connection.rb: in pre_process
          catch(:async) do...
/opt/minicron/lib/vendor/ruby/2.2.0/gems/thin-1.6.3/lib/thin/connection.rb: in process
            post_process(pre_process)...
/opt/minicron/lib/vendor/ruby/2.2.0/gems/thin-1.6.3/lib/thin/connection.rb: in receive_data
          process if @request.parse(data)...
/opt/minicron/lib/vendor/ruby/2.2.0/gems/eventmachine-1.0.6/lib/eventmachine.rb: in run_machine
            run_machine...
/opt/minicron/lib/vendor/ruby/2.2.0/gems/eventmachine-1.0.6/lib/eventmachine.rb: in run
            run_machine...
/opt/minicron/lib/vendor/ruby/2.2.0/gems/thin-1.6.3/lib/thin/backends/base.rb: in start
              EventMachine.run(&starter)...
/opt/minicron/lib/vendor/ruby/2.2.0/gems/thin-1.6.3/lib/thin/server.rb: in start
          @backend.start { setup_signals if @setup_signals }...
/opt/minicron/lib/vendor/ruby/2.2.0/gems/minicron-0.9.6.1467466137/lib/minicron/transport/server.rb: in start!
            @server.start...
/opt/minicron/lib/vendor/ruby/2.2.0/gems/minicron-0.9.6.1467466137/lib/minicron/cli/commands.rb: in block (3 levels) in add_server_cli_command
                    Minicron::Transport::Server.start!(...
/opt/minicron/lib/vendor/ruby/2.2.0/gems/insidious-0.3/lib/insidious.rb: in call
          block.call...
/opt/minicron/lib/vendor/ruby/2.2.0/gems/insidious-0.3/lib/insidious.rb: in run_daemon!
          block.call...
/opt/minicron/lib/vendor/ruby/2.2.0/gems/insidious-0.3/lib/insidious.rb: in start!
          run_daemon!(&block)...
/opt/minicron/lib/vendor/ruby/2.2.0/gems/minicron-0.9.6.1467466137/lib/minicron/cli/commands.rb: in block (2 levels) in add_server_cli_command
                  insidious.start! do...
/opt/minicron/lib/vendor/ruby/2.2.0/gems/commander-4.4.0/lib/commander/command.rb: in call
          when Proc then object.call(args, options)...
/opt/minicron/lib/vendor/ruby/2.2.0/gems/commander-4.4.0/lib/commander/command.rb: in call
          when Proc then object.call(args, options)...
/opt/minicron/lib/vendor/ruby/2.2.0/gems/commander-4.4.0/lib/commander/command.rb: in run
          call parse_options_and_call_procs(*args)...
/opt/minicron/lib/vendor/ruby/2.2.0/gems/commander-4.4.0/lib/commander/runner.rb: in run_active_command
            active_command.run(*args_without_command_name)...
/opt/minicron/lib/vendor/ruby/2.2.0/gems/commander-4.4.0/lib/commander/runner.rb: in run!
            run_active_command...
/opt/minicron/lib/vendor/ruby/2.2.0/gems/minicron-0.9.6.1467466137/lib/minicron/cli.rb: in run
          @cli.run!...
/opt/minicron/lib/vendor/ruby/2.2.0/gems/minicron-0.9.6.1467466137/bin/minicron: in block in <top (required)>
        Minicron::CLI.run(ARGV) do |output|...
/opt/minicron/lib/vendor/ruby/2.2.0/gems/minicron-0.9.6.1467466137/lib/minicron.rb: in capture_output
          yield...
/opt/minicron/lib/vendor/ruby/2.2.0/gems/minicron-0.9.6.1467466137/bin/minicron: in <top (required)>
      Minicron.capture_output(:type => :stderr) do...
/opt/minicron/lib/vendor/ruby/2.2.0/bin/minicron: in load
    load Gem.bin_path('minicron', 'minicron', version)...
/opt/minicron/lib/vendor/ruby/2.2.0/bin/minicron: in <main>
    load Gem.bin_path('minicron', 'minicron', version)`

`Request information GET No GET data. POST No POST data. COOKIES Variable Value JSESSIONID
"1wkk2a3919gpwg2bp0ses0shz" rack.session
"BAh7CEkiD3Nlc3Npb25faWQGOgZFVEkiRTdhMmZjNzQ4NTI4ZjAzZmIwY2Y5\nZTcwNTdjNGZmNjU0ZjdiMDdkMWVlOTQzODkwYjJhMGE2MWYwOWQ0NzE3OTcG\nOwBGSSIJY3NyZgY7AEZJIiVkMjU3MWU1ZmY3ZGI2NzQ4YWMyNTNkM2VlNzE0\nZjBlOAY7AEZJIg10cmFja2luZwY7AEZ7B0kiFEhUVFBfVVNFUl9BR0VOVAY7\nAFRJIi1mMTI3NjhhOWQ1NDgzZjE0MzBmZWNiYThmYzJmNzUzZjFmOGQwM2E5\nBjsARkkiGUhUVFBfQUNDRVBUX0xBTkdVQUdFBjsAVEkiLTA4YWI2Y2E5NGM0\nYzYyMGQwNTMzMThiZjUzYjg0NmY1NDkzNTRlOWMGOwBG\n--a49cd372fbb4daf86dacf744a347f2ce0fc015af" minicron.session
"BAh7CEkiD3Nlc3Npb25faWQGOgZFVEkiRTdhMmZjNzQ4NTI4ZjAzZmIwY2Y5\nZTcwNTdjNGZmNjU0ZjdiMDdkMWVlOTQzODkwYjJhMGE2MWYwOWQ0NzE3OTcG\nOwBGSSIJY3NyZgY7AEZJIiVkMjU3MWU1ZmY3ZGI2NzQ4YWMyNTNkM2VlNzE0\nZjBlOAY7AEZJIg10cmFja2luZwY7AEZ7B0kiFEhUVFBfVVNFUl9BR0VOVAY7\nAFRJIi1mMTI3NjhhOWQ1NDgzZjE0MzBmZWNiYThmYzJmNzUzZjFmOGQwM2E5\nBjsARkkiGUhUVFBfQUNDRVBUX0xBTkdVQUdFBjsAVEkiLTA4YWI2Y2E5NGM0\nYzYyMGQwNTMzMThiZjUzYjg0NmY1NDkzNTRlOWMGOwBG\n--ac6f5ca32db0f8427c1c95df2b55d1c2f075efd3" Rack ENV Variable Value GATEWAY_INTERFACE
CGI/1.2 HTTPACCEPT
text/html,application/xhtml+xml,application/xml;q=0.9,
/_;q=0.8 HTTP_ACCEPT_ENCODING
gzip, deflate HTTP_ACCEPT_LANGUAGE
fr,fr-FR;q=0.8,en-US;q=0.5,en;q=0.3 HTTP_CACHE_CONTROL
max-age=0 HTTP_CONNECTION
keep-alive HTTP_COOKIE
JSESSIONID=1wkk2a3919gpwg2bp0ses0shz; rack.session=BAh7CEkiD3Nlc3Npb25faWQGOgZFVEkiRTdhMmZjNzQ4NTI4ZjAzZmIwY2Y5%0AZTcwNTdjNGZmNjU0ZjdiMDdkMWVlOTQzODkwYjJhMGE2MWYwOWQ0NzE3OTcG%0AOwBGSSIJY3NyZgY7AEZJIiVkMjU3MWU1ZmY3ZGI2NzQ4YWMyNTNkM2VlNzE0%0AZjBlOAY7AEZJIg10cmFja2luZwY7AEZ7B0kiFEhUVFBfVVNFUl9BR0VOVAY7%0AAFRJIi1mMTI3NjhhOWQ1NDgzZjE0MzBmZWNiYThmYzJmNzUzZjFmOGQwM2E5%0ABjsARkkiGUhUVFBfQUNDRVBUX0xBTkdVQUdFBjsAVEkiLTA4YWI2Y2E5NGM0%0AYzYyMGQwNTMzMThiZjUzYjg0NmY1NDkzNTRlOWMGOwBG%0A--a49cd372fbb4daf86dacf744a347f2ce0fc015af; minicron.session=BAh7CEkiD3Nlc3Npb25faWQGOgZFVEkiRTdhMmZjNzQ4NTI4ZjAzZmIwY2Y5%0AZTcwNTdjNGZmNjU0ZjdiMDdkMWVlOTQzODkwYjJhMGE2MWYwOWQ0NzE3OTcG%0AOwBGSSIJY3NyZgY7AEZJIiVkMjU3MWU1ZmY3ZGI2NzQ4YWMyNTNkM2VlNzE0%0AZjBlOAY7AEZJIg10cmFja2luZwY7AEZ7B0kiFEhUVFBfVVNFUl9BR0VOVAY7%0AAFRJIi1mMTI3NjhhOWQ1NDgzZjE0MzBmZWNiYThmYzJmNzUzZjFmOGQwM2E5%0ABjsARkkiGUhUVFBfQUNDRVBUX0xBTkdVQUdFBjsAVEkiLTA4YWI2Y2E5NGM0%0AYzYyMGQwNTMzMThiZjUzYjg0NmY1NDkzNTRlOWMGOwBG%0A--ac6f5ca32db0f8427c1c95df2b55d1c2f075efd3 HTTP_HOST
192.168.1.26:9292 HTTP_UPGRADE_INSECURE_REQUESTS
1 HTTP_USER_AGENT
Mozilla/5.0 (Windows NT 6.3; WOW64; rv:48.0) Gecko/20100101 Firefox/48.0 HTTP_VERSION
HTTP/1.1 PATH_INFO
/execution/2 QUERY_STRING
REMOTE_ADDR
192.168.1.10 REQUEST_METHOD
GET REQUEST_PATH
/execution/2 REQUEST_URI
/execution/2 SCRIPT_NAME
SERVER_NAME
192.168.1.26 SERVER_PORT
9292 SERVER_PROTOCOL
HTTP/1.1 SERVER_SOFTWARE
thin 1.6.3 codename Protein Powder async.callback

<Method: Thin::Connection#post_process>

async.close

EventMachine::DefaultDeferrable:0x00561b04687c78

rack.errors

IO:

rack.input

StringIO:0x00561b032284f8

rack.logger

<Rack::NullLogger:0x00561b030708e0 @app=#<Rack::Session::Cookie:0x00561b030709f8 @secrets=["3e62fff32b50227004ced0dcfb4db56db5bea6af437a14c9ff38d1216c2dbc134e8f60180a3868b37d31f7ccb0aaa5855c6ed01dbb173b39ea617ed536d714ed"], @coder=#, @app=#<Rack::Protection::FrameOptions:0x00561b03070ae8 @app=#<Rack::Protection::HttpOrigin:0x00561b03070b88 @app=#<Rack::Protection::IPSpoofing:0x00561b03070c28 @app=#<Rack::Protection::JsonCsrf:0x00561b03070cc8 @app=#<Rack::Protection::PathTraversal:0x00561b03070d68 @app=#<Rack::Protection::RemoteToken:0x00561b03070e58 @app=#<Rack::Protection::SessionHijacking:0x00561b03070f48 @app=#<Rack::Protection::XSSHeader:0x00561b03071038 @app=#<Minicron::Hub::App:0x00561b02b81e88 @default_layout=:layout, @preferred_extension=nil, @app=nil, @template_cache=#<Tilt::Cache:0x00561b02b81e60 @cache={[:erb, :"jobs/show", {:outvar=>"@_out_buf", :default_encoding=>"utf-8"}, "/opt/minicron/lib/vendor/ruby/2.2.0/gems/minicron-0.9.6.1467466137/lib/minicron/hub/views"]=>#<Tilt::ErubisTemplate:0x00561b0337efa0 @options={:preamble=>false, :postamble=>false, :bufvar=>"@_out_buf"}, @line=1, @file="/opt/minicron/lib/vendor/ruby/2.2.0/gems/minicron-0.9.6.1467466137/lib/minicron/hub/views/jobs/show.erb", @compiled_method={[]=>#<UnboundMethod: BasicObject#tilt_47336980773400>}, @default_encoding="utf-8", @reader=#<Proc:0x00561b0337ee60@/opt/minicron/lib/vendor/ruby/2.2.0/gems/tilt-1.4.1/lib/tilt/template.rb:68 (lambda)>, @data="<header class=\"clearfix\">\n <h2 class=\"pull-left\">Job '<%= @job.safe_name %>'

\n <a href=\"<%= \"#{route_prefix}/job/#{@job.id}/delete\" %>\" class=\"pull-right btn btn-danger btn-sm\">Delete\n <form class=\"pull-right\" action=\"<%= \"#{route_prefix}/job/#{@job.id}\" %>/status/<%= @job.enabled ? 'disable' : 'enable' %>\" method=\"POST\">\n <input type=\"submit\" class=\"btn btn-<%= @job.enabled ? 'danger' : 'success' %> btn-sm\" value=\"<%= @job.enabled ? 'Disable' : 'Enable' %>\"/>\n \n <a href=\"<%= \"#{route_prefix}/job/#{@job.id}/edit\" %>\" class=\"pull-right btn btn-warning btn-sm\">Edit\n <form class=\"pull-right\" action=\"<%= \"#{route_prefix}/job/#{@job.id}/run\" %>\" method=\"POST\">\n <input type=\"submit\" class=\"btn btn-success btn-sm\" value=\"Run\"/>\n \n\n
\n\n<form class=\"form-horizontal\" role=\"form\">\n <div class=\"form-group\">\n <label class=\"col-sm-2 control-label\">Name\n <div class=\"col-sm-10\">\n <div class=\"form-control form-control-view\"><%= @job.name %>
\n
\n \n <div class=\"form-group\">\n <label class=\"col-sm-2 control-label\">Command\n <div class=\"col-sm-10\">\n <div class=\"form-control form-control-view\"><%= @job.command %>\n \n \n <div class=\"form-group\">\n <label class=\"col-sm-2 control-label\">Host\n <div class=\"col-sm-10\">\n <div class=\"form-control form-control-view\"><%= @job.host.name %>\n \n \n <div class=\"form-group\">\n <label class=\"col-sm-2 control-label\">Created At\n <div class=\"col-sm-10\">\n <div class=\"form-control form-control-view\"><%= Minicron.time(@job.created_at) %>\n \n \n <div class=\"form-group\">\n <label class=\"col-sm-2 control-label\">Updated At\n <div class=\"col-sm-10\">\n <div class=\"form-control form-control-view\"><%= Minicron.time(@job.updated_at) %>\n \n \n\n\n\n
\n<header class=\"clearfix\">\n <h2 class=\"pull-left\">Schedule\n <a href=\"<%= \"#{route_prefix}/job/#{@job.id}/schedules/new\" %>\" class=\"pull-right btn btn-success btn-sm\">Add New Schedule\n\n\n<table class=\"table table-striped table-hover\">\n \n \n Schedule\n Actions\n \n \n\n \n <% @job.schedules.each do |schedule| %>\n \n <%= schedule.formatted %>\n \n <a href=\"<%= \"#{route_prefix}/job/#{@job.id}/schedule/#{schedule.id}\" %>\" class=\"btn btn-info btn-xs\">View\n <a href=\"<%= \"#{route_prefix}/job/#{@job.id}/schedule/#{schedule.id}/edit\" %>\" class=\"btn btn-warning btn-xs\">Edit\n <a href=\"<%= \"#{route_prefix}/job/#{@job.id}/schedule/#{schedule.id}/delete\" %>\" class=\"btn btn-danger btn-xs\">Delete\n \n \n <% end %>\n \n\n
\n\n
\n<header class=\"clearfix\">\n

Executions

\n\n
\n\n<table class=\"table table-striped table-hover\">\n \n \n #\n Started At\n Finished At\n Exit Status\n Actions\n \n \n\n \n <% @job.executions.each do |execution| %>\n \n <a href=\"<%= \"#{route_prefix}/execution/#{execution.id}\" %>\"><%= execution.number %>\n <%= Minicron.time(execution.started_at) %>\n <%= Minicron.time(execution.finished_at) %>\n <%= execution.exit_status %>\n <a href=\"<%= \"#{route_prefix}/execution/#{execution.id}\" %>\" class=\"btn btn-info btn-xs\">View\n \n <% end %>\n \n\n", @outvar="@_out_buf", @engine=#<Erubis::Eruby:0x00561b0337ed98 @escapefunc="Erubis::XmlHelper.escape_xml", @bufvar="@_out_buf", @preamble=false, @postamble=false, @escape=nil, @pattern=nil, @trim=true, @filename=nil, @_proc=nil, @src=" @_out_buf << '<header class=\"clearfix\">\n <h2 class=\"pull-left\">Job \''; @_out_buf << ( @job.safe_name ).to_s; @_out_buf << '\'\n <a href=\"'; @_out_buf << ( \"#{route_prefix}/job/#{@job.id}/delete\" ).to_s; @_out_buf << '\" class=\"pull-right btn btn-danger btn-sm\">Delete\n <form class=\"pull-right\" action=\"'; @_out_buf << ( \"#{route_prefix}/job/#{@job.id}\" ).to_s; @_out_buf << '/status/'; @_out_buf << ( @job.enabled ? 'disable' : 'enable' ).to_s; @_out_buf << '\" method=\"POST\">\n <input type=\"submit\" class=\"btn btn-'; @_out_buf << ( @job.enabled ? 'danger' : 'success' ).to_s; @_out_buf << ' btn-sm\" value=\"'; @_out_buf << ( @job.enabled ? 'Disable' : 'Enable' ).to_s; @_out_buf << '\"/>\n \n <a href=\"'; @_out_buf << ( \"#{route_prefix}/job/#{@job.id}/edit\" ).to_s; @_out_buf << '\" class=\"pull-right btn btn-warning btn-sm\">Edit\n <form class=\"pull-right\" action=\"'; @_out_buf << ( \"#{route_prefix}/job/#{@job.id}/run\" ).to_s; @_out_buf << '\" method=\"POST\">\n <input type=\"submit\" class=\"btn btn-success btn-sm\" value=\"Run\"/>\n \n\n
\n\n<form class=\"form-horizontal\" role=\"form\">\n <div class=\"form-group\">\n <label class=\"col-sm-2 control-label\">Name\n <div class=\"col-sm-10\">\n <div class=\"form-control form-control-view\">'; @_out_buf << ( @job.name ).to_s; @_out_buf << '\n \n \n <div class=\"form-group\">\n <label class=\"col-sm-2 control-label\">Command\n <div class=\"col-sm-10\">\n <div class=\"form-control form-control-view\">'; @_out_buf << ( @job.command ).to_s; @_out_buf << '\n \n \n <div class=\"form-group\">\n <label class=\"col-sm-2 control-label\">Host\n <div class=\"col-sm-10\">\n <div class=\"form-control form-control-view\">'; @_out_buf << ( @job.host.name ).to_s; @_out_buf << '\n \n \n <div class=\"form-group\">\n <label class=\"col-sm-2 control-label\">Created At\n <div class=\"col-sm-10\">\n <div class=\"form-control form-control-view\">'; @_out_buf << ( Minicron.time(@job.created_at) ).to_s; @_out_buf << '\n \n \n <div class=\"form-group\">\n <label class=\"col-sm-2 control-label\">Updated At\n <div class=\"col-sm-10\">\n <div class=\"form-control form-control-view\">'; @_out_buf << ( Minicron.time(@job.updated_at) ).to_s; @_out_buf << '\n \n \n\n
\n\n
\n<header class=\"clearfix\">\n <h2 class=\"pull-left\">Schedule\n <a href=\"'; @_out_buf << ( \"#{route_prefix}/job/#{@job.id}/schedules/new\" ).to_s; @_out_buf << '\" class=\"pull-right btn btn-success btn-sm\">Add New Schedule\n\n\n<table class=\"table table-striped table-hover\">\n \n \n Schedule\n Actions\n \n \n\n \n'; @job.schedules.each do |schedule| \n @_out_buf << ' \n '; @_out_buf << ( schedule.formatted ).to_s; @_out_buf << '\n \n <a href=\"'; @_out_buf << ( \"#{route_prefix}/job/#{@job.id}/schedule/#{schedule.id}\" ).to_s; @_out_buf << '\" class=\"btn btn-info btn-xs\">View\n <a href=\"'; @_out_buf << ( \"#{route_prefix}/job/#{@job.id}/schedule/#{schedule.id}/edit\" ).to_s; @_out_buf << '\" class=\"btn btn-warning btn-xs\">Edit\n <a href=\"'; @_out_buf << ( \"#{route_prefix}/job/#{@job.id}/schedule/#{schedule.id}/delete\" ).to_s; @_out_buf << '\" class=\"btn btn-danger btn-xs\">Delete\n \n \n'; end \n @_out_buf << ' \n\n
\n\n
\n<header class=\"clearfix\">\n

Executions

\n\n
\n\n<table class=\"table table-striped table-hover\">\n \n \n #\n Started At\n Finished At\n Exit Status\n Actions\n \n \n\n \n'; @job.executions.each do |execution| \n @_out_buf << ' \n <a href=\"'; @_out_buf << ( \"#{route_prefix}/execution/#{execution.id}\" ).to_s; @_out_buf << '\">'; @_out_buf << ( execution.number ).to_s; @_out_buf << '\n '; @_out_buf << ( Minicron.time(execution.started_at) ).to_s; @_out_buf << '\n '; @_out_buf << ( Minicron.time(execution.finished_at) ).to_s; @_out_buf << '\n '; @_out_buf << ( execution.exit_status ).to_s; @_out_buf << '\n <a href=\"'; @_out_buf << ( \"#{route_prefix}/execution/#{execution.id}\" ).to_s; @_out_buf << '\" class=\"btn btn-info btn-xs\">View\n \n'; end \n @_out_buf << ' \n\n';">>, [:erb, :"layouts/app", {:outvar=>"@_out_buf", :default_encoding=>"utf-8"}, "/opt/minicron/lib/vendor/ruby/2.2.0/gems/minicron-0.9.6.1467466137/lib/minicron/hub/views"]=>#<Tilt::ErubisTemplate:0x00561b00167fa8 @options={:preamble=>false, :postamble=>false, :bufvar=>"@_out_buf"}, @line=1, @file="/opt/minicron/lib/vendor/ruby/2.2.0/gems/minicron-0.9.6.1467466137/lib/minicron/hub/views/layouts/app.erb", @compiled_method={[]=>#<UnboundMethod: BasicObject#
tilt_47336980773400>}, @default_encoding="utf-8", @reader=#<Proc:0x00561b00166dd8@/opt/minicron/lib/vendor/ruby/2.2.0/gems/tilt-1.4.1/lib/tilt/template.rb:68 (lambda)>, @data="<!doctype html>\n\n\n <%= css :app, :media => 'screen' %>\n minicron\n\n\n <%= erb :'partials/header' %>\n\n <div class=\"main-container clearfix\">\n <% if flash[:success] %>\n <div class=\"flash alert alert-success\" role=\"alert\"><%= flash[:success] %>\n <% end %>\n <% if flash[:warning] %>\n <div class=\"flash alert alert-warning\" role=\"alert\"><%= flash[:warning] %>\n <% end %>\n <% if flash[:error] %>\n <div class=\"flash alert alert-danger\" role=\"alert\"><%= flash[:error] %>\n <% end %>\n <%= erb :'partials/sidebar' %>\n\n <div class=\"main-panel\">\n <div class=\"inner\">\n <%= yield %>\n \n \n \n\n <%= js :app, :media => 'screen' %>\n \n\n\n", @outvar="@_out_buf", @engine=#<Erubis::Eruby:0x00561b00166338 @escapefunc="Erubis::XmlHelper.escape_xml", @bufvar="@_out_buf", @preamble=false, @postamble=false, @escape=nil, @pattern=nil, @trim=true, @filename=nil, @_proc=nil, @src=" @_out_buf << '<!doctype html>\n\n\n '; @_out_buf << ( css :app, :media => 'screen' ).to_s; @_out_buf << '\n'; @_out_buf << ' minicron\n\n\n '; @_out_buf << ( erb :'partials/header' ).to_s; @_out_buf << '\n'; @_out_buf << '\n <div class=\"main-container clearfix\">\n'; if flash[:success] \n @_out_buf << ' <div class=\"flash alert alert-success\" role=\"alert\">'; @_out_buf << ( flash[:success] ).to_s; @_out_buf << '\n'; end \n if flash[:warning] \n @_out_buf << ' <div class=\"flash alert alert-warning\" role=\"alert\">'; @_out_buf << ( flash[:warning] ).to_s; @_out_buf << '\n'; end \n if flash[:error] \n @_out_buf << ' <div class=\"flash alert alert-danger\" role=\"alert\">'; @_out_buf << ( flash[:error] ).to_s; @_out_buf << '\n'; end \n @_out_buf << ' '; @_out_buf << ( erb :'partials/sidebar' ).to_s; @_out_buf << '\n'; @_out_buf << '\n <div class=\"main-panel\">\n <div class=\"inner\">\n '; @_out_buf << ( yield ).to_s; @_out_buf << '\n'; @_out_buf << ' \n \n \n\n '; @_out_buf << ( js :app, :media => 'screen' ).to_s; @_out_buf << '\n'; @_out_buf << ' \n\n\n';">>, [:erb, :"partials/header", {:outvar=>"@_out_buf", :default_encoding=>"utf-8"}, "/opt/minicron/lib/vendor/ruby/2.2.0/gems/minicron-0.9.6.1467466137/lib/minicron/hub/views"]=>#<Tilt::ErubisTemplate:0x00561affd45fd8 @options={:preamble=>false, :postamble=>false, :bufvar=>"@_out_buf"}, @line=1, @file="/opt/minicron/lib/vendor/ruby/2.2.0/gems/minicron-0.9.6.1467466137/lib/minicron/hub/views/partials/header.erb", @compiled_method={[]=>#<UnboundMethod: BasicObject#tilt_47336980773400>}, @default_encoding="utf-8", @reader=#<Proc:0x00561affd44340@/opt/minicron/lib/vendor/ruby/2.2.0/gems/tilt-1.4.1/lib/tilt/template.rb:68 (lambda)>, @data="<div class=\"navbar navbar-default navbar-fixed-top\" role=\"navigation\">\n <div class=\"main-container\">\n <div class=\"navbar-header\">\n <a href=\"<%= Minicron.config['server']['path'] %>\" class=\"navbar-brand\">minicron\n \n\n <ul class=\"nav navbar-nav\">\n
  • <a class=\"<%= 'active' if nav_page == :execution %>\" href=\"<%= Minicron.config['server']['path'] %>\">Executions
  • \n
  • <a class=\"<%= 'active' if nav_page == :job %>\" href=\"<%= \"#{route_prefix}/jobs\" %>\">Jobs
  • \n
  • <a class=\"<%= 'active' if nav_page == :host %>\" href=\"<%= \"#{route_prefix}/hosts\" %>\">Hosts
  • \n
  • <a class=\"<%= 'active' if nav_page == :alert %>\" href=\"<%= \"#{route_prefix}/alerts\" %>\">Alerts
  • \n \n \n\n", @outvar="@_out_buf", @engine=#<Erubis::Eruby:0x00561affd43f30 @escapefunc="Erubis::XmlHelper.escape_xml", @bufvar="@_out_buf", @preamble=false, @postamble=false, @escape=nil, @pattern=nil, @trim=true, @filename=nil, @_proc=nil, @src=" @_out_buf << '<div class=\"navbar navbar-default navbar-fixed-top\" role=\"navigation\">\n <div class=\"main-container\">\n <div class=\"navbar-header\">\n <a href=\"'; @_out_buf << ( Minicron.config['server']['path'] ).to_s; @_out_buf << '\" class=\"navbar-brand\">minicron\n \n\n <ul class=\"nav navbar-nav\">\n
  • <a class=\"'; @_out_buf << ( 'active' if nav_page == :execution ).to_s; @_out_buf << '\" href=\"'; @_out_buf << ( Minicron.config['server']['path'] ).to_s; @_out_buf << '\">Executions
  • \n
  • <a class=\"'; @_out_buf << ( 'active' if nav_page == :job ).to_s; @_out_buf << '\" href=\"'; @_out_buf << ( \"#{route_prefix}/jobs\" ).to_s; @_out_buf << '\">Jobs
  • \n
  • <a class=\"'; @_out_buf << ( 'active' if nav_page == :host ).to_s; @_out_buf << '\" href=\"'; @_out_buf << ( \"#{route_prefix}/hosts\" ).to_s; @_out_buf << '\">Hosts
  • \n
  • <a class=\"'; @_out_buf << ( 'active' if nav_page == :alert ).to_s; @_out_buf << '\" href=\"'; @_out_buf << ( \"#{route_prefix}/alerts\" ).to_s; @_out_buf << '\">Alerts
  • \n \n \n\n';">>, [:erb, :"partials/sidebar", {:outvar=>"@_out_buf", :default_encoding=>"utf-8"}, "/opt/minicron/lib/vendor/ruby/2.2.0/gems/minicron-0.9.6.1467466137/lib/minicron/hub/views"]=>#<Tilt::ErubisTemplate:0x00561b03490ee8 @options={:preamble=>false, :postamble=>false, :bufvar=>"@_out_buf"}, @line=1, @file="/opt/minicron/lib/vendor/ruby/2.2.0/gems/minicron-0.9.6.1467466137/lib/minicron/hub/views/partials/sidebar.erb", @compiled_method={[]=>#<UnboundMethod: BasicObject#__tilt_47336980773400>}, @default_encoding="utf-8", @reader=#<Proc:0x00561b03490da8@/opt/minicron/lib/vendor/ruby/2.2.0/gems/tilt-1.4.1/lib/tilt/template.rb:68 (lambda)>, @data="<div class=\"sidebar\">\n

    Recent Job Executions

    \n <div class=\"list-group\">\n <%\n # Get a list of recent executions\n recent_executions = Minicron::Hub::Execution.all\n .order(:created_at => :desc, :started_at => :desc)\n .includes(:job => :host)\n .limit(10)\n %>\n <% recent_executions.each do |execution| %>\n <a href=\"<%= \"#{route_prefix}/execution/#{execution.id}\" %>\" class=\"list-group-item clearfix<%= if defined?(@execution) and @execution.id == execution.id then ' active' else nil end %>\">\n <span class=\"pull-left\"><%= execution.job.safe_name %>\n <% if !execution.exit_status.nil? && execution.exit_status > 0 %>\n <span class=\"pull-right execution-status label label-danger\" data-toggle=\"tooltip\" data-placement=\"right\" title=\"Failed\">\n <span class=\"glyphicon glyphicon-remove\">\n \n <% else %>\n <% if execution.finished_at %>\n <span class=\"pull-right execution-status label label-success\" data-toggle=\"tooltip\" data-placement=\"right\" title=\"Successful\">\n <span class=\"glyphicon glyphicon-ok\">\n \n <% else %>\n <span class=\"pull-right execution-status label label-warning\" data-toggle=\"tooltip\" data-placement=\"right\" title=\"Running\">\n <span class=\"glyphicon glyphicon-flash\">\n \n <% end %>\n <% end %>\n <div style=\"clear: left;\">\n <span class=\"execution-info\"><%= Minicron.time(execution.created_at) %> on <%= execution.job.host.name %>\n \n <% end %>\n \n\n", @outvar="@_out_buf", @engine=#<Erubis::Eruby:0x00561b03490ce0 @escapefunc="Erubis::XmlHelper.escape_xml", @bufvar="@_out_buf", @preamble=false, @postamble=false, @escape=nil, @pattern=nil, @trim=true, @filename=nil, @_proc=nil, @src=" @_out_buf << '<div class=\"sidebar\">\n

    Recent Job Executions

    \n <div class=\"list-group\">\n'; \n # Get a list of recent executions\n recent_executions = Minicron::Hub::Execution.all\n .order(:created_at => :desc, :started_at => :desc)\n .includes(:job => :host)\n .limit(10)\n \n recent_executions.each do |execution| \n @_out_buf << ' <a href=\"'; @_out_buf << ( \"#{route_prefix}/execution/#{execution.id}\" ).to_s; @_out_buf << '\" class=\"list-group-item clearfix'; @_out_buf << ( if defined?(@execution) and @execution.id == execution.id then ' active' else nil end ).to_s; @_out_buf << '\">\n <span class=\"pull-left\">'; @_out_buf << ( execution.job.safe_name ).to_s; @_out_buf << '\n'; if !execution.exit_status.nil? && execution.exit_status > 0 \n @_out_buf << ' <span class=\"pull-right execution-status label label-danger\" data-toggle=\"tooltip\" data-placement=\"right\" title=\"Failed\">\n <span class=\"glyphicon glyphicon-remove\">\n \n'; else \n if execution.finished_at \n @_out_buf << ' <span class=\"pull-right execution-status label label-success\" data-toggle=\"tooltip\" data-placement=\"right\" title=\"Successful\">\n <span class=\"glyphicon glyphicon-ok\">\n \n'; else \n @_out_buf << ' <span class=\"pull-right execution-status label label-warning\" data-toggle=\"tooltip\" data-placement=\"right\" title=\"Running\">\n <span class=\"glyphicon glyphicon-flash\">\n \n'; end \n end \n @_out_buf << ' <div style=\"clear: left;\">\n <span class=\"execution-info\">'; @_out_buf << ( Minicron.time(execution.created_at) ).to_s; @_out_buf << ' on '; @_out_buf << ( execution.job.host.name ).to_s; @_out_buf << '\n \n'; end \n @_out_buf << ' \n\n';">>, [:erb, :"executions/show", {:outvar=>"@_out_buf", :default_encoding=>"utf-8"}, "/opt/minicron/lib/vendor/ruby/2.2.0/gems/minicron-0.9.6.1467466137/lib/minicron/hub/views"]=>#<Tilt::ErubisTemplate:0x00561b018cb4d8 @options={:preamble=>false, :postamble=>false, :bufvar=>"@_out_buf"}, @line=1, @file="/opt/minicron/lib/vendor/ruby/2.2.0/gems/minicron-0.9.6.1467466137/lib/minicron/hub/views/executions/show.erb", @compiled_method={[]=>#<UnboundMethod: BasicObject#
    tilt_47336980773400>}, @default_encoding="utf-8", @reader=#<Proc:0x00561b018cb1e0@/opt/minicron/lib/vendor/ruby/2.2.0/gems/tilt-1.4.1/lib/tilt/template.rb:68 (lambda)>, @data=" <header class=\"clearfix\">\n <h2 class=\"pull-left\">Execution #<%= @execution.number %>\n <a href=\"<%= \"#{route_prefix}/execution/#{@execution.id}/delete\" %>\" class=\"pull-right btn btn-danger btn-sm\">Delete\n \n
    \n\n <form class=\"form-horizontal\" role=\"form\">\n <div class=\"form-group\">\n <label class=\"col-sm-2 control-label\">Created At\n <div class=\"col-sm-10\">\n <div class=\"form-control form-control-view\"><%= Minicron.time(@execution.created_at) %>\n \n \n <div class=\"form-group\">\n <label class=\"col-sm-2 control-label\">Started At\n <div class=\"col-sm-10\">\n <div class=\"form-control form-control-view\"><%= Minicron.time(@execution.started_at) %>\n \n \n <div class=\"form-group\">\n <label class=\"col-sm-2 control-label\">Finished At\n <div class=\"col-sm-10\">\n <div class=\"form-control form-control-view\"><%= Minicron.time(@execution.finished_at) %>\n \n \n <div class=\"form-group\">\n <label class=\"col-sm-2 control-label\">Exit Status\n <div class=\"col-sm-10\">\n <div class=\"form-control form-control-view\"><%= @execution.exit_status %>\n \n \n \n
    \n\n
    \n <header class=\"clearfix\">\n <h2 class=\"pull-left\">Job\n <a href=\"<%= \"#{route_prefix}/job/#{@execution.job.id}/edit\" %>\" class=\"pull-right btn btn-warning btn-sm\">Edit\n <a href=\"<%= \"#{route_prefix}/job/#{@execution.job.id}\" %>\" class=\"pull-right btn btn-info btn-sm\">View\n \n
    \n\n <form class=\"form-horizontal\" role=\"form\">\n <div class=\"form-group\">\n <label class=\"col-sm-2 control-label\">Name\n <div class=\"col-sm-10\">\n <div class=\"form-control form-control-view\"><%= @execution.job.safe_name %>\n \n \n <div class=\"form-group\">\n <label class=\"col-sm-2 control-label\">Command\n <div class=\"col-sm-10\">\n <div class=\"form-control form-control-view\"><%= @execution.job.command %>\n \n \n <div class=\"form-group\">\n <label class=\"col-sm-2 control-label\">Host\n <div class=\"col-sm-10\">\n <div class=\"form-control form-control-view\"><%= @execution.job.host.name %>\n \n \n \n
    \n\n
    \n
    \n

    Output

    \n
    \n
    \n\n <div class=\"output tomorrow-night-eighties-ansi-theme\"><% @execution.job_execution_outputs.each do |output| %><%= ansi_to_html(output.safe_output) %><% end %>\n
    \n", @outvar="@_out_buf", @engine=#<Erubis::Eruby:0x00561b018cb0c8 @escapefunc="Erubis::XmlHelper.escape_xml", @bufvar="@_out_buf", @preamble=false, @postamble=false, @escape=nil, @pattern=nil, @trim=true, @filename=nil, @_proc=nil, @src=" @_out_buf << ' <header class=\"clearfix\">\n <h2 class=\"pull-left\">Execution #'; @_out_buf << ( @execution.number ).to_s; @_out_buf << '\n <a href=\"'; @_out_buf << ( \"#{route_prefix}/execution/#{@execution.id}/delete\" ).to_s; @_out_buf << '\" class=\"pull-right btn btn-danger btn-sm\">Delete\n \n
    \n\n <form class=\"form-horizontal\" role=\"form\">\n <div class=\"form-group\">\n <label class=\"col-sm-2 control-label\">Created At\n <div class=\"col-sm-10\">\n <div class=\"form-control form-control-view\">'; @_out_buf << ( Minicron.time(@execution.created_at) ).to_s; @_out_buf << '\n \n \n <div class=\"form-group\">\n <label class=\"col-sm-2 control-label\">Started At\n <div class=\"col-sm-10\">\n <div class=\"form-control form-control-view\">'; @_out_buf << ( Minicron.time(@execution.started_at) ).to_s; @_out_buf << '\n \n \n <div class=\"form-group\">\n <label class=\"col-sm-2 control-label\">Finished At\n <div class=\"col-sm-10\">\n <div class=\"form-control form-control-view\">'; @_out_buf << ( Minicron.time(@execution.finished_at) ).to_s; @_out_buf << '\n \n \n <div class=\"form-group\">\n <label class=\"col-sm-2 control-label\">Exit Status\n <div class=\"col-sm-10\">\n <div class=\"form-control form-control-view\">'; @_out_buf << ( @execution.exit_status ).to_s; @_out_buf << '\n \n \n \n\n\n
    \n <header class=\"clearfix\">\n <h2 class=\"pull-left\">Job\n <a href=\"'; @_out_buf << ( \"#{route_prefix}/job/#{@execution.job.id}/edit\" ).to_s; @_out_buf << '\" class=\"pull-right btn btn-warning btn-sm\">Edit\n <a href=\"'; @_out_buf << ( \"#{route_prefix}/job/#{@execution.job.id}\" ).to_s; @_out_buf << '\" class=\"pull-right btn btn-info btn-sm\">View\n \n
    \n\n <form class=\"form-horizontal\" role=\"form\">\n <div class=\"form-group\">\n <label class=\"col-sm-2 control-label\">Name\n <div class=\"col-sm-10\">\n <div class=\"form-control form-control-view\">'; @_out_buf << ( @execution.job.safe_name ).to_s; @_out_buf << '\n \n \n <div class=\"form-group\">\n <label class=\"col-sm-2 control-label\">Command\n <div class=\"col-sm-10\">\n <div class=\"form-control form-control-view\">'; @_out_buf << ( @execution.job.command ).to_s; @_out_buf << '\n \n \n <div class=\"form-group\">\n <label class=\"col-sm-2 control-label\">Host\n <div class=\"col-sm-10\">\n <div class=\"form-control form-control-view\">'; @_out_buf << ( @execution.job.host.name ).to_s; @_out_buf << '\n \n \n \n
    \n\n
    \n
    \n

    Output

    \n
    \n
    \n\n <div class=\"output tomorrow-night-eighties-ansi-theme\">'; @execution.job_execution_outputs.each do |output| ; @_out_buf << ( ansi_to_html(output.safe_output) ).to_s; end ; @_out_buf << '\n
    \n';">>}>>, @options={:reaction=>:drop_session, :logging=>true, :message=>"Forbidden", :encryptor=>Digest::SHA1, :session_key=>"rack.session", :status=>403, :allow_empty_referrer=>true, :report_key=>"protection.failed", :html_types=>["text/html", "application/xhtml"], :xss_mode=>:block, :nosniff=>true, :except=>[]}>, @options={:reaction=>:drop_session, :logging=>true, :message=>"Forbidden", :encryptor=>Digest::SHA1, :session_key=>"rack.session", :status=>403, :allow_empty_referrer=>true, :report_key=>"protection.failed", :html_types=>["text/html", "application/xhtml"], :tracking_key=>:tracking, :encrypt_tracking=>true, :track=>["HTTP_USER_AGENT", "HTTP_ACCEPT_LANGUAGE"], :except=>[]}>, @options={:reaction=>:drop_session, :logging=>true, :message=>"Forbidden", :encryptor=>Digest::SHA1, :session_key=>"rack.session", :status=>403, :allow_empty_referrer=>true, :report_key=>"protection.failed", :html_types=>["text/html", "application/xhtml"], :authenticity_param=>"authenticity_token", :except=>[]}>, @options={:reaction=>:drop_session, :logging=>true, :message=>"Forbidden", :encryptor=>Digest::SHA1, :session_key=>"rack.session", :status=>403, :allow_empty_referrer=>true, :report_key=>"protection.failed", :html_types=>["text/html", "application/xhtml"], :except=>[]}>, @options={:reaction=>:drop_session, :logging=>true, :message=>"Forbidden", :encryptor=>Digest::SHA1, :session_key=>"rack.session", :status=>403, :allow_empty_referrer=>true, :report_key=>"protection.failed", :html_types=>["text/html", "application/xhtml"], :except=>[]}>, @options={:reaction=>:drop_session, :logging=>true, :message=>"Forbidden", :encryptor=>Digest::SHA1, :session_key=>"rack.session", :status=>403, :allow_empty_referrer=>true, :report_key=>"protection.failed", :html_types=>["text/html", "application/xhtml"], :except=>[]}>, @options={:reaction=>:drop_session, :logging=>true, :message=>"Forbidden", :encryptor=>Digest::SHA1, :session_key=>"rack.session", :status=>403, :allow_empty_referrer=>true, :report_key=>"protection.failed", :html_types=>["text/html", "application/xhtml"], :except=>[]}>, @options={:reaction=>:drop_session, :logging=>true, :message=>"Forbidden", :encryptor=>Digest::SHA1, :session_key=>"rack.session", :status=>403, :allow_empty_referrer=>true, :report_key=>"protection.failed", :html_types=>["text/html", "application/xhtml"], :frame_options=>:sameorigin, :except=>[]}, @frame_options="SAMEORIGIN">, @default_options={:path=>"/", :domain=>nil, :expire_after=>nil, :secure=>false, :httponly=>true, :defer=>false, :renew=>false, :sidbits=>128, :secure_random=>SecureRandom, :secret=>"3e62fff32b50227004ced0dcfb4db56db5bea6af437a14c9ff38d1216c2dbc134e8f60180a3868b37d31f7ccb0aaa5855c6ed01dbb173b39ea617ed536d714ed", :coder=>#Rack::Session::Cookie::Base64::Marshal:0x00561b03070980}, @key="rack.session", @cookie_only=true, @sidbits=128, @sid_secure=SecureRandom, @sid_length=32>>

    rack.multiprocess
    false rack.multithread
    false rack.request.cookie_hash
    {"JSESSIONID"=>"1wkk2a3919gpwg2bp0ses0shz", "rack.session"=>"BAh7CEkiD3Nlc3Npb25faWQGOgZFVEkiRTdhMmZjNzQ4NTI4ZjAzZmIwY2Y5\nZTcwNTdjNGZmNjU0ZjdiMDdkMWVlOTQzODkwYjJhMGE2MWYwOWQ0NzE3OTcG\nOwBGSSIJY3NyZgY7AEZJIiVkMjU3MWU1ZmY3ZGI2NzQ4YWMyNTNkM2VlNzE0\nZjBlOAY7AEZJIg10cmFja2luZwY7AEZ7B0kiFEhUVFBfVVNFUl9BR0VOVAY7\nAFRJIi1mMTI3NjhhOWQ1NDgzZjE0MzBmZWNiYThmYzJmNzUzZjFmOGQwM2E5\nBjsARkkiGUhUVFBfQUNDRVBUX0xBTkdVQUdFBjsAVEkiLTA4YWI2Y2E5NGM0\nYzYyMGQwNTMzMThiZjUzYjg0NmY1NDkzNTRlOWMGOwBG\n--a49cd372fbb4daf86dacf744a347f2ce0fc015af", "minicron.session"=>"BAh7CEkiD3Nlc3Npb25faWQGOgZFVEkiRTdhMmZjNzQ4NTI4ZjAzZmIwY2Y5\nZTcwNTdjNGZmNjU0ZjdiMDdkMWVlOTQzODkwYjJhMGE2MWYwOWQ0NzE3OTcG\nOwBGSSIJY3NyZgY7AEZJIiVkMjU3MWU1ZmY3ZGI2NzQ4YWMyNTNkM2VlNzE0\nZjBlOAY7AEZJIg10cmFja2luZwY7AEZ7B0kiFEhUVFBfVVNFUl9BR0VOVAY7\nAFRJIi1mMTI3NjhhOWQ1NDgzZjE0MzBmZWNiYThmYzJmNzUzZjFmOGQwM2E5\nBjsARkkiGUhUVFBfQUNDRVBUX0xBTkdVQUdFBjsAVEkiLTA4YWI2Y2E5NGM0\nYzYyMGQwNTMzMThiZjUzYjg0NmY1NDkzNTRlOWMGOwBG\n--ac6f5ca32db0f8427c1c95df2b55d1c2f075efd3"} rack.request.cookie_string
    JSESSIONID=1wkk2a3919gpwg2bp0ses0shz; rack.session=BAh7CEkiD3Nlc3Npb25faWQGOgZFVEkiRTdhMmZjNzQ4NTI4ZjAzZmIwY2Y5%0AZTcwNTdjNGZmNjU0ZjdiMDdkMWVlOTQzODkwYjJhMGE2MWYwOWQ0NzE3OTcG%0AOwBGSSIJY3NyZgY7AEZJIiVkMjU3MWU1ZmY3ZGI2NzQ4YWMyNTNkM2VlNzE0%0AZjBlOAY7AEZJIg10cmFja2luZwY7AEZ7B0kiFEhUVFBfVVNFUl9BR0VOVAY7%0AAFRJIi1mMTI3NjhhOWQ1NDgzZjE0MzBmZWNiYThmYzJmNzUzZjFmOGQwM2E5%0ABjsARkkiGUhUVFBfQUNDRVBUX0xBTkdVQUdFBjsAVEkiLTA4YWI2Y2E5NGM0%0AYzYyMGQwNTMzMThiZjUzYjg0NmY1NDkzNTRlOWMGOwBG%0A--a49cd372fbb4daf86dacf744a347f2ce0fc015af; minicron.session=BAh7CEkiD3Nlc3Npb25faWQGOgZFVEkiRTdhMmZjNzQ4NTI4ZjAzZmIwY2Y5%0AZTcwNTdjNGZmNjU0ZjdiMDdkMWVlOTQzODkwYjJhMGE2MWYwOWQ0NzE3OTcG%0AOwBGSSIJY3NyZgY7AEZJIiVkMjU3MWU1ZmY3ZGI2NzQ4YWMyNTNkM2VlNzE0%0AZjBlOAY7AEZJIg10cmFja2luZwY7AEZ7B0kiFEhUVFBfVVNFUl9BR0VOVAY7%0AAFRJIi1mMTI3NjhhOWQ1NDgzZjE0MzBmZWNiYThmYzJmNzUzZjFmOGQwM2E5%0ABjsARkkiGUhUVFBfQUNDRVBUX0xBTkdVQUdFBjsAVEkiLTA4YWI2Y2E5NGM0%0AYzYyMGQwNTMzMThiZjUzYjg0NmY1NDkzNTRlOWMGOwBG%0A--ac6f5ca32db0f8427c1c95df2b55d1c2f075efd3 rack.request.query_hash
    {} rack.request.query_string
    rack.run_once
    false rack.session
    {"session_id"=>"7a2fc748528f03fb0cf9e7057c4ff654f7b07d1ee943890b2a0a61f09d471797", "csrf"=>"d2571e5ff7db6748ac253d3ee714f0e8", "tracking"=>{"HTTP_USER_AGENT"=>"f12768a9d5483f1430fecba8fc2f753f1f8d03a9", "HTTP_ACCEPT_LANGUAGE"=>"08ab6ca94c4c620d053318bf53b846f549354e9c"}} rack.session.options
    {:path=>"/", :domain=>nil, :expire_after=>nil, :secure=>false, :httponly=>true, :defer=>false, :renew=>false, :sidbits=>128, :secure_random=>SecureRandom, :secret=>"3e62fff32b50227004ced0dcfb4db56db5bea6af437a14c9ff38d1216c2dbc134e8f60180a3868b37d31f7ccb0aaa5855c6ed01dbb173b39ea617ed536d714ed", :coder=>#Rack::Session::Cookie::Base64::Marshal:0x00561b03070980} rack.session.unpacked_cookie_data
    {"session_id"=>"7a2fc748528f03fb0cf9e7057c4ff654f7b07d1ee943890b2a0a61f09d471797", "csrf"=>"d2571e5ff7db6748ac253d3ee714f0e8", "tracking"=>{"HTTP_USER_AGENT"=>"f12768a9d5483f1430fecba8fc2f753f1f8d03a9", "HTTP_ACCEPT_LANGUAGE"=>"08ab6ca94c4c620d053318bf53b846f549354e9c"}} rack.url_scheme
    http rack.version
    [1, 0] sinatra.commonlogger
    true sinatra.error

    <NoMethodError: undefined method `id' for nil:NilClass>

    sinatra.route
    GET /execution/:id`

    aristeia commented 7 years ago

    I just experienced this as well, after force-deleting a host.

    vparmeland commented 7 years ago

    Yes it's my issue ...

    jamesrwhite commented 7 years ago

    From what I can see I've fixed this in 0.9.7, please re-open this if it's not the case.