Coder Social home page Coder Social logo

kuroko2's Introduction

Kuroko2

Build Status Gem Version

Kuroko2 is a web-based job scheduler / workflow engine.

Installation

$ rails new your_kuroko2_application --database=mysql --skip-turbolinks --skip-javascript -m https://raw.githubusercontent.com/cookpad/kuroko2/master/app_template.rb

And edits "config/kuroko2.yml"

Documentation

Documentation is available at docs/index.md.

Authors

  • Naoto Takai
  • Eisuke Oishi
  • Kohei Suzuki
  • Taiki Ono
  • Takashi Kokubun

Contributors

  • Shota Iguchi
  • Hiroyuki Inoue
  • hogelog
  • gfx
  • kaorimatz
  • makimoto
  • shigemk2
  • winebarrel
  • t8m8
  • yohfee
  • takonomura
  • errm
  • itkq

License

The gem is available as open source under the terms of the MIT License.

kuroko2's People

Contributors

9toon avatar coord-e avatar eagletmt avatar eisuke avatar errm avatar esakai avatar ganmacs avatar gfx avatar hogelog avatar hokaccha avatar iguchi1124 avatar inohiro avatar k0kubun avatar kaorimatz avatar makimoto avatar okazu-dm avatar pocke avatar riseshia avatar shigemk2 avatar taiki45 avatar takai avatar takonomura avatar tomorrowkey avatar yohfee avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

kuroko2's Issues

How to kill working job that failed to start

At first, thank you for providing useful OSS!

We struggle with jobs that remain working status.
I guess there are jobs failed not to assign a worker of the executor.
They can not be operated at all on Web UI.
We want the way to force them to stop.

Kuruko2 schedule job commands sometime runs twice

When running testing executing a simple command execute: node -v and scheduled it to run every minute, there are instance that the job runs twice. please refer to the attached images for more details
screen shot 2018-08-23 at 12 26 19 pm
screen shot 2018-08-23 at 1 52 47 pm

Info:
ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux]
Rails 5.2.1
rvm 1.29.4 (latest) by Michal Papis, Piotr Kuczynski, Wayne E. Seguin [https://rvm.io]
node v8.4.0
RAILS_ENV=production
NUM_OF_WORKERS=1

Cannot create job definition

Ruby: 2.5.3
Rails: 5.1.6
Kuroko2: 0.5.0

Creating a new job definition responds "Revisions is invalid". It looks association between job_definition and revision is not set correctly according to simulating controller action with rails console. In spite of controllers and features specs success.

irb> d = Kuroko2::JobDefinition.new(name: 'Job', script: 'noop:', admins: [Kuroko2::User.first])
  Kuroko2::User Load (2.9ms)  SELECT  `kuroko2_users`.* FROM `kuroko2_users` ORDER BY `kuroko2_users`.`id` ASC LIMIT 1
=> #<Kuroko2::JobDefinition id: nil, version: 0, name: "Job", description: "An description of the job definition.\n\n## Failure ...", script: "noop:", suspended: false, prevent_multi: 1, notify_cancellation: true, hipchat_room: "", hipchat_notify_finished: true, hipchat_additional_text: nil, slack_channel: "", api_allowed: false, created_at: nil, updated_at: nil, webhook_url: nil>
irb> d.valid?
=> true
irb> d.save_and_record_revision
   (1.5ms)  BEGIN
   (0.9ms)  ROLLBACK
=> false
irb> d.revisions.size
=> 1
irb> d.revisions.first.errors.full_messages
=> ["Job definition must exist"]
irb> d.revisions.first.job_definition
=> nil

I think one of below ideas may help (sorry for not PR).

  1. Add inverse_of option to revisions association.
    https://github.com/cookpad/kuroko2/blob/master/app/models/kuroko2/job_definition.rb#L33
has_many :revisions, ..., inverse_of: :job_definition
  1. Set association explicitly.
    https://github.com/cookpad/kuroko2/blob/master/app/models/kuroko2/job_definition.rb#L145
revisions.new(job_definition: self, ...)

Latter one have less impact on app. How do you think?

[Request] environment variable KUROKO2_WORKER=$worker_id for jobs

Sometimes I'd like to know the process is running on workers or not.

For example, when I configure arproxy to report slow queries to Sentry, the threshold in workers (i.e. OLAP) differs from that in application servers (i.e. OLTP).

Of course I can define that environment variables in each job, but if this idea is worth considering, I'll make a pull request for it.

What do you think of it?

Is 'url' item in 'kuroko2.yml' no longer working as public URL?

Kuroko2 is very sexy product, thanks.

not working?

btw, url item in kuroko2.yml is no longer working, is it?

for example, I defined url as 'http://foobar:12345' and exec foreman as below.

$ foreman start

its log is here.

16:26:15 rails.1     | started with pid 28255
16:26:15 executor.1  | started with pid 28256
16:26:15 scheduler.1 | started with pid 28257
16:26:15 processor.1 | started with pid 28258
16:26:18 rails.1     | => Booting Puma
16:26:18 rails.1     | => Rails 5.1.3 application starting in development on http://localhost:5000
16:26:18 rails.1     | => Run `rails server -h` for more startup options
16:26:18 rails.1     | Puma starting in single mode...
16:26:18 rails.1     | * Version 3.9.1 (ruby 2.3.1-p112), codename: Private Caller
16:26:18 rails.1     | * Min threads: 5, max threads: 5
16:26:18 rails.1     | * Environment: development
16:26:18 rails.1     | * Listening on tcp://localhost:5000
16:26:18 rails.1     | Use Ctrl-C to stop

not updated 'url' :-(
the port number 5000 is defined in engine.rb at foreman gem.

use '.env' to solve

if we wanna change url which is composed of host and port number, need to define in .env such as below.

HOST=example.com
PORT=12345

use 'Procfile' to solve

or change rails s option in Procfile (below)

rails: ./bin/rails s -b example.com -p 12345
executor: ./bin/rails runner Kuroko2::Servers::CommandExecutor.new.run
scheduler: ./bin/rails runner Kuroko2::Servers::JobScheduler.new.run
processor: ./bin/rails runner Kuroko2::Servers::WorkflowProcessor.new.run

but this is NOT COOL, I consider.

conclusion

if the above is right, it's better to add them to Quick Start in docs/index.md, isn't it?

Thank you.

version

  • kuroko2 (0.4.2)
  • rails (5.1.3)
  • ruby 2.3.1p112 (2016-04-26) [x86_64-linux-gnu]

Cannot migrate CreateScriptRevisions

External constraint key error when DB migration.
Please tell me the corresponding means.

image

# bin/rails db:migrate RAILS_ENV=development
== 20190411084473 CreateScriptRevisions: migrating ============================
-- create_table(:script_revisions)
rails aborted!
StandardError: An error has occurred, all later migrations canceled:

Mysql2::Error: Cannot add foreign key constraint: CREATE TABLE `kuroko2_script_revisions` (`id` int AUTO_INCREMENT PRIMARY KEY, `job_definition_id` int NOT NULL, `script` text NOT NULL, `user_id` int, `changed_at` datetime NOT NULL, `created_at` datetime NOT NULL, `updated_at` datetime NOT NULL,  INDEX `index_kuroko2_script_revisions_on_job_definition_id`  (`job_definition_id`),  INDEX `index_kuroko2_script_revisions_on_user_id`  (`user_id`), CONSTRAINT `fk_rails_753524e5bd`
FOREIGN KEY (`job_definition_id`)
  REFERENCES `kuroko2_job_definitions` (`id`)
, CONSTRAINT `fk_rails_4a096a63c7`
FOREIGN KEY (`user_id`)
  REFERENCES `kuroko2_users` (`id`)
) ENGINE=InnoDB
/opt/my_kuroko2/db/migrate/20190411084473_create_script_revisions.kuroko2.rb:4:in `up'
/opt/my_kuroko2/bin/rails:9:in `require'
/opt/my_kuroko2/bin/rails:9:in `<top (required)>'
/opt/my_kuroko2/bin/spring:15:in `<top (required)>'
bin/rails:3:in `load'
bin/rails:3:in `<main>'

Caused by:
ActiveRecord::StatementInvalid: Mysql2::Error: Cannot add foreign key constraint: CREATE TABLE `kuroko2_script_revisions` (`id` int AUTO_INCREMENT PRIMARY KEY, `job_definition_id` int NOT NULL, `script` text NOT NULL, `user_id` int, `changed_at` datetime NOT NULL, `created_at` datetime NOT NULL, `updated_at` datetime NOT NULL,  INDEX `index_kuroko2_script_revisions_on_job_definition_id`  (`job_definition_id`),  INDEX `index_kuroko2_script_revisions_on_user_id`  (`user_id`), CONSTRAINT `fk_rails_753524e5bd`
FOREIGN KEY (`job_definition_id`)
  REFERENCES `kuroko2_job_definitions` (`id`)
, CONSTRAINT `fk_rails_4a096a63c7`
FOREIGN KEY (`user_id`)
  REFERENCES `kuroko2_users` (`id`)
) ENGINE=InnoDB
/opt/my_kuroko2/db/migrate/20190411084473_create_script_revisions.kuroko2.rb:4:in `up'
/opt/my_kuroko2/bin/rails:9:in `require'
/opt/my_kuroko2/bin/rails:9:in `<top (required)>'
/opt/my_kuroko2/bin/spring:15:in `<top (required)>'
bin/rails:3:in `load'
bin/rails:3:in `<main>'

Caused by:
Mysql2::Error: Cannot add foreign key constraint
/opt/my_kuroko2/db/migrate/20190411084473_create_script_revisions.kuroko2.rb:4:in `up'
/opt/my_kuroko2/bin/rails:9:in `require'
/opt/my_kuroko2/bin/rails:9:in `<top (required)>'
/opt/my_kuroko2/bin/spring:15:in `<top (required)>'
bin/rails:3:in `load'
bin/rails:3:in `<main>'
Tasks: TOP => db:migrate
(See full trace by running task with --trace)

Ruby: 2.3.0
Rails: 5.0.7.2
MySQL: 5.7.25
kuroko2: 0.5.0

rails new faild: Directly inheriting from ActiveRecord::Migration is not supported.

Environment

  • Ubuntu 17.04
  • Ruby 2.4.0p0
  • rails 5.1.0

Overview

When I create new kuroko2 application using this command,

$ rails new your_kuroko2_application --database=mysql --skip-turbolinks --skip-javascript -m https://raw.githubusercontent.com/cookpad/kuroko2/master/app_template.rb

I occurred this error log.

Created database 'your_kuroko2_application_development'
Created database 'your_kuroko2_application_test'
        rake    db:migrate
rake aborted!
StandardError: An error has occurred, all later migrations canceled:

Directly inheriting from ActiveRecord::Migration is not supported. Please specify the Rails release the migration was written for:

  class CreateJobDefinitions < ActiveRecord::Migration[4.2]
/path/to/your_kuroko2_application/db/migrate/20170508170549_create_job_definitions.kuroko2.rb:2:in `<top (required)>'
StandardError: Directly inheriting from ActiveRecord::Migration is not supported. Please specify the Rails release the migration was written for:

  class CreateJobDefinitions < ActiveRecord::Migration[4.2]
/path/to/your_kuroko2_application/db/migrate/20170508170549_create_job_definitions.kuroko2.rb:2:in `<top (required)>'
Tasks: TOP => db:migrate
(See full trace by running task with --trace)
  ============================================================================
  Kuroko2 application is now installed and mounts at '/'
============================================================================

I can fix this error fixing ActiveRecord::Migration to ActiveRecord::Migration[5.1], but this correction depends on rails command version in local.

Should I send a pull-request? Or could you tell me how to avoid this error?

read-only user

Hello.

I'm using kuroko2 with team.

The team has directors and engineers.
The engineer changes the setting of kuroko2, but the director only sees the execution situation.
Therefore, I want to make the director read-only.

However, current kuroko2 doesn't have authority management.

Is the function of authority management scheduled?

[Q] Is it possible to run fork twice?

I executed the following Kuroko2 script.

### Kuroko2 Script
execute: echo 1
fork:
  execute: echo 2
  execute: echo 3
execute: echo 4
fork:
  execute: echo 5
  execute: echo 6
execute: echo 7

### Result
echo1
  echo 2
  echo 3
echo 4
echo 7
# `echo 5` and `echo 6` were not executed.

Is this in the specifications?

OAuth2::Error

Environment

  • kuroko2 (0.4.6)
  • ruby 2.5.3p105 (2018-10-18 revision 65156) [x86_64-darwin18]
  • omniauth-google-oauth2 (0.2.10)

Summary

Thank you for making a nice gem.

When authenticating google_oauth2, the following error occurs.

スクリーンショット 2019-11-18 23 59 52

23:47:54 rails.1     | OAuth2::Error ({"code"=>403, "message"=>"Legacy People API has not been used in project 1077742424242408 before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/legacypeople.googleapis.com/overview?project=107772132452345873608 then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.", "status"=>"PERMISSION_DENIED", "details"=>[{"@type"=>"type.googleapis.com/google.rpc.Help", "links"=>[{"description"=>"Google developers console API activation", "url"=>"https://console.developers.google.com/apis/api/legacypeople.googleapis.com/overview?project=10777242424241873608"}]}]}:
23:47:54 rails.1     | {
23:47:54 rails.1     |   "error": {
23:47:54 rails.1     |     "code": 403,
23:47:54 rails.1     |     "message": "Legacy People API has not been used in project 10842828 before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/legacypeople.googleapis.com/overview?project=107774242424608 then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.",
23:47:54 rails.1     |     "status": "PERMISSION_DENIED",
23:47:54 rails.1     |     "details": [
23:47:54 rails.1     |       {
23:47:54 rails.1     |         "@type": "type.googleapis.com/google.rpc.Help",
23:47:54 rails.1     |         "links": [
23:47:54 rails.1     |           {
23:47:54 rails.1     |             "description": "Google developers console API activation",
23:47:54 rails.1     |             "url": "https://console.developers.google.com/apis/api/legacypeople.googleapis.com/overview?project=10777324224242408"
23:47:54 rails.1     |           }
23:47:54 rails.1     |         ]
23:47:54 rails.1     |       }
23:47:54 rails.1     |     ]
23:47:54 rails.1     |   }
23:47:54 rails.1     | }
23:47:54 rails.1     | ):
23:47:54 rails.1     |
23:47:54 rails.1     | vendor/bundle/ruby/2.5.0/gems/oauth2-1.4.2/lib/oauth2/client.rb:119:in `request'
23:47:54 rails.1     | vendor/bundle/ruby/2.5.0/gems/oauth2-1.4.2/lib/oauth2/access_token.rb:107:in `request'
23:47:54 rails.1     | vendor/bundle/ruby/2.5.0/gems/oauth2-1.4.2/lib/oauth2/access_token.rb:114:in `get'
23:47:54 rails.1     | vendor/bundle/ruby/2.5.0/gems/omniauth-google-oauth2-0.2.10/lib/omniauth/strategies/google_oauth2.rb:81:in `raw_info'
23:47:54 rails.1     | vendor/bundle/ruby/2.5.0/gems/omniauth-google-oauth2-0.2.10/lib/omniauth/strategies/google_oauth2.rb:42:in `block in <class:GoogleOauth2>'
23:47:54 rails.1     | vendor/bundle/ruby/2.5.0/gems/omniauth-1.9.0/lib/omniauth/strategy.rb:109:in `instance_eval'
23:47:54 rails.1     | vendor/bundle/ruby/2.5.0/gems/omniauth-1.9.0/lib/omniauth/strategy.rb:109:in `block in compile_stack'
23:47:54 rails.1     | vendor/bundle/ruby/2.5.0/gems/omniauth-1.9.0/lib/omniauth/strategy.rb:108:in `each'
23:47:54 rails.1     | vendor/bundle/ruby/2.5.0/gems/omniauth-1.9.0/lib/omniauth/strategy.rb:108:in `inject'
23:47:54 rails.1     | vendor/bundle/ruby/2.5.0/gems/omniauth-1.9.0/lib/omniauth/strategy.rb:108:in `compile_stack'
23:47:54 rails.1     | vendor/bundle/ruby/2.5.0/gems/omniauth-1.9.0/lib/omniauth/strategy.rb:102:in `uid_stack'
23:47:54 rails.1     | vendor/bundle/ruby/2.5.0/gems/omniauth-1.9.0/lib/omniauth/strategy.rb:332:in `uid'
23:47:54 rails.1     | vendor/bundle/ruby/2.5.0/gems/omniauth-1.9.0/lib/omniauth/strategy.rb:348:in `auth_hash'
23:47:54 rails.1     | vendor/bundle/ruby/2.5.0/gems/omniauth-1.9.0/lib/omniauth/strategy.rb:372:in `callback_phase'
23:47:54 rails.1     | vendor/bundle/ruby/2.5.0/gems/omniauth-oauth2-1.3.1/lib/omniauth/strategies/oauth2.rb:79:in `callback_phase'
23:47:54 rails.1     | vendor/bundle/ruby/2.5.0/gems/omniauth-1.9.0/lib/omniauth/strategy.rb:238:in `callback_call'
23:47:54 rails.1     | vendor/bundle/ruby/2.5.0/gems/omniauth-1.9.0/lib/omniauth/strategy.rb:189:in `call!'
23:47:54 rails.1     | vendor/bundle/ruby/2.5.0/gems/omniauth-1.9.0/lib/omniauth/strategy.rb:169:in `call'
23:47:54 rails.1     | vendor/bundle/ruby/2.5.0/gems/omniauth-1.9.0/lib/omniauth/builder.rb:64:in `call'
23:47:54 rails.1     | vendor/bundle/ruby/2.5.0/gems/http_accept_language-2.1.1/lib/http_accept_language/middleware.rb:14:in `call'
23:47:54 rails.1     | vendor/bundle/ruby/2.5.0/gems/rack-2.0.7/lib/rack/tempfile_reaper.rb:15:in `call'
23:47:54 rails.1     | vendor/bundle/ruby/2.5.0/gems/rack-2.0.7/lib/rack/etag.rb:25:in `call'
23:47:54 rails.1     | vendor/bundle/ruby/2.5.0/gems/rack-2.0.7/lib/rack/conditional_get.rb:25:in `call'
23:47:54 rails.1     | vendor/bundle/ruby/2.5.0/gems/rack-2.0.7/lib/rack/head.rb:12:in `call'
23:47:54 rails.1     | vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.3/lib/action_dispatch/http/content_security_policy.rb:18:in `call'
23:47:54 rails.1     | vendor/bundle/ruby/2.5.0/gems/rack-2.0.7/lib/rack/session/abstract/id.rb:232:in `context'
23:47:54 rails.1     | vendor/bundle/ruby/2.5.0/gems/rack-2.0.7/lib/rack/session/abstract/id.rb:226:in `call'
23:47:54 rails.1     | vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.3/lib/action_dispatch/middleware/cookies.rb:670:in `call'
23:47:54 rails.1     | vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.3/lib/active_record/migration.rb:559:in `call'
23:47:54 rails.1     | vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.3/lib/action_dispatch/middleware/callbacks.rb:28:in `block in call'
23:47:54 rails.1     | vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/callbacks.rb:98:in `run_callbacks'
23:47:54 rails.1     | vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.3/lib/action_dispatch/middleware/callbacks.rb:26:in `call'
23:47:54 rails.1     | vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.3/lib/action_dispatch/middleware/executor.rb:14:in `call'
23:47:54 rails.1     | vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.3/lib/action_dispatch/middleware/debug_exceptions.rb:61:in `call'
23:47:54 rails.1     | vendor/bundle/ruby/2.5.0/gems/web-console-3.7.0/lib/web_console/middleware.rb:135:in `call_app'
23:47:54 rails.1     | vendor/bundle/ruby/2.5.0/gems/web-console-3.7.0/lib/web_console/middleware.rb:30:in `block in call'
23:47:54 rails.1     | vendor/bundle/ruby/2.5.0/gems/web-console-3.7.0/lib/web_console/middleware.rb:20:in `catch'
23:47:54 rails.1     | vendor/bundle/ruby/2.5.0/gems/web-console-3.7.0/lib/web_console/middleware.rb:20:in `call'
23:47:54 rails.1     | vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.3/lib/action_dispatch/middleware/show_exceptions.rb:33:in `call'
23:47:54 rails.1     | vendor/bundle/ruby/2.5.0/gems/railties-5.2.3/lib/rails/rack/logger.rb:38:in `call_app'
23:47:54 rails.1     | vendor/bundle/ruby/2.5.0/gems/railties-5.2.3/lib/rails/rack/logger.rb:26:in `block in call'
23:47:54 rails.1     | vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/tagged_logging.rb:71:in `block in tagged'
23:47:54 rails.1     | vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/tagged_logging.rb:28:in `tagged'
23:47:54 rails.1     | vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/tagged_logging.rb:71:in `tagged'
23:47:54 rails.1     | vendor/bundle/ruby/2.5.0/gems/railties-5.2.3/lib/rails/rack/logger.rb:26:in `call'
23:47:54 rails.1     | vendor/bundle/ruby/2.5.0/gems/sprockets-rails-3.2.1/lib/sprockets/rails/quiet_assets.rb:13:in `call'
23:47:54 rails.1     | vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.3/lib/action_dispatch/middleware/remote_ip.rb:81:in `call'
23:47:54 rails.1     | vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.3/lib/action_dispatch/middleware/request_id.rb:27:in `call'
23:47:54 rails.1     | vendor/bundle/ruby/2.5.0/gems/rack-2.0.7/lib/rack/method_override.rb:22:in `call'
23:47:54 rails.1     | vendor/bundle/ruby/2.5.0/gems/rack-2.0.7/lib/rack/runtime.rb:22:in `call'
23:47:54 rails.1     | vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/cache/strategy/local_cache_middleware.rb:29:in `call'
23:47:54 rails.1     | vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.3/lib/action_dispatch/middleware/executor.rb:14:in `call'
23:47:54 rails.1     | vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.3/lib/action_dispatch/middleware/static.rb:127:in `call'
23:47:54 rails.1     | vendor/bundle/ruby/2.5.0/gems/rack-2.0.7/lib/rack/sendfile.rb:111:in `call'
23:47:54 rails.1     | vendor/bundle/ruby/2.5.0/gems/railties-5.2.3/lib/rails/engine.rb:524:in `call'
23:47:54 rails.1     | vendor/bundle/ruby/2.5.0/gems/puma-3.12.1/lib/puma/configuration.rb:227:in `call'
23:47:54 rails.1     | vendor/bundle/ruby/2.5.0/gems/puma-3.12.1/lib/puma/server.rb:660:in `handle_request'
23:47:54 rails.1     | vendor/bundle/ruby/2.5.0/gems/puma-3.12.1/lib/puma/server.rb:474:in `process_client'
23:47:54 rails.1     | vendor/bundle/ruby/2.5.0/gems/puma-3.12.1/lib/puma/server.rb:334:in `block in run'
23:47:54 rails.1     | vendor/bundle/ruby/2.5.0/gems/puma-3.12.1/lib/puma/thread_pool.rb:135:in `block in spawn_thread'

This is an error that the Legacy People API is disabled, but according to the official documentation there is no way to enable it.

https://developers.google.com/people/legacy

I think you should raise the version of omniauth-google-oauth2 to a version that uses substitutes such as Google People API.

Thank you.

[Q] How to restart command-executor processes during job execution.

Overview

Could you tell me how to restart command-executor processes during job execution safety?

Background

When I terminated a command-executor process with a following command for upgrade Kuroko2,
running Working Jobs had been left.

kill -QUIT `cat tmp/pids/command-executor.pid`

Then I deleted tha following DB data.

  • kuroko2_job_instances: corresponding to the running Working job
  • and corresponding to deleted kuroko2_job_instances
    • kuroko2_executions
    • kuroko2_logs
    • kuroko2_memory_consumption_logs
    • kuroko2_tokens

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.