jamesrwhite / minicron

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

Error in the current job execution page #222

Closed phsmith closed 8 years ago

phsmith commented 8 years ago

Hi! I'm running a Minicron 9.3 server, and the following errors are occuring when I'm going to the current job execution page:

NoMethodError at /minicron/execution/323
undefined method `in_time_zone' for nil:NilClass
Ruby    /opt/minicron/lib/vendor/ruby/2.2.0/gems/minicron-0.9.3.1460325878/lib/minicron.rb: in time, line 284
Web     GET 127.0.0.1/minicron/execution/323

/opt/minicron/lib/vendor/ruby/2.2.0/gems/minicron-0.9.3.1460325878/lib/minicron.rb: in time

        time.in_time_zone(Minicron.config['server']['timezone'])...

/opt/minicron/lib/vendor/ruby/2.2.0/gems/minicron-0.9.3.1460325878/lib/minicron/hub/views/executions/show.erb: in block in singleton class

            <div class="form-control form-control-view"><%= Minicron.time(@execution.finished_at) %></div>...

/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.3.1460325878/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.3.1460325878/lib/minicron/transport/server.rb: in start!

            @server.start...

/opt/minicron/lib/vendor/ruby/2.2.0/gems/minicron-0.9.3.1460325878/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.3.1460325878/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.3.1460325878/lib/minicron/cli.rb: in run

          @cli.run!...

/opt/minicron/lib/vendor/ruby/2.2.0/gems/minicron-0.9.3.1460325878/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.3.1460325878/lib/minicron.rb: in capture_output

          yield...

/opt/minicron/lib/vendor/ruby/2.2.0/gems/minicron-0.9.3.1460325878/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)
jamesrwhite commented 8 years ago

Yeah there is an issue with the 0.9.4 build, I'm going to try and get a new one out soon.

phsmith commented 8 years ago

OK! Thanks!