{"id":19024654,"url":"https://github.com/yukihirop/my_kuroko2","last_synced_at":"2026-05-18T05:34:03.626Z","repository":{"id":36273328,"uuid":"224244074","full_name":"yukihirop/my_kuroko2","owner":"yukihirop","description":null,"archived":false,"fork":false,"pushed_at":"2023-01-19T16:12:17.000Z","size":132,"stargazers_count":1,"open_issues_count":19,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-02T01:42:50.547Z","etag":null,"topics":["kuroko2","rails","ruby","scheduler"],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yukihirop.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-11-26T17:02:43.000Z","updated_at":"2021-10-04T19:02:27.000Z","dependencies_parsed_at":"2023-02-11T08:45:14.744Z","dependency_job_id":null,"html_url":"https://github.com/yukihirop/my_kuroko2","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yukihirop%2Fmy_kuroko2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yukihirop%2Fmy_kuroko2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yukihirop%2Fmy_kuroko2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yukihirop%2Fmy_kuroko2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yukihirop","download_url":"https://codeload.github.com/yukihirop/my_kuroko2/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240072132,"owners_count":19743526,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["kuroko2","rails","ruby","scheduler"],"created_at":"2024-11-08T20:37:50.937Z","updated_at":"2026-04-29T22:30:17.284Z","avatar_url":"https://github.com/yukihirop.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# my kuroko2\n\n## 注意🚨(自分向け)\n\n- 外部IPはエフェメラルでなく、静的IPなので注意(300円/月)\n- ドメインyukihirop.meも課金対象(2500円/年)\n- 使ってない時はVMインスタンスは停止するようにする\n\n## 開発環境\n\n- Rails (5.1.7)\n- ruby (ruby 2.5.3p105 (2018-10-18 revision 65156) [x86_64-darwin18])\n- psql (PostgreSQL) 11.5\n- kuroko2 (0.5.2)\n\n## 環境構築\n\n`.env` ファイルを用意する。\n\n```bash\ntouch .env.sample .env\n```\n\nGSuiteのメールアドレスでgoogle_oauth2認証が使えるように適切に設定する。\n(GSuiteしか対応してないです。Gmailでは認証不可です。)\n\n```bash\nbundle install --path vendor/bundle\nbundle exec rails db:create\nSCOPE=kuroko2 bundle exec rails db:migrate\nbundle exec foreman start\n```\n\nRailsエンジンによって生成されたmigrationファイル(*.kuroko2.rb)のmigrationを\n実行する時には `SCOPE` という環境変数にエンジン名(kuroko2)というのを指定する必要がある。\n(今現在は[こちら](https://github.com/yukihirop/kuroko2/blob/master/config/application.rb#L28)でtable_name_prefixを指定しているので必須ではないが、この設定は将来的に削除する予定なのでつけないといけないと覚えておいたがいいです。)\n\n以下のようなテーブルが作成できたら成功\n\n```\nmysql\u003e show tables;\n+---------------------------------+\n| Tables_in_kuroko2_development   |\n+---------------------------------+\n| kuroko2_admin_assignments       |\n| kuroko2_ar_internal_metadata    |\n| kuroko2_execution_histories     |\n| kuroko2_executions              |\n| kuroko2_job_definition_tags     |\n| kuroko2_job_definitions         |\n| kuroko2_job_instances           |\n| kuroko2_job_schedules           |\n| kuroko2_job_suspend_schedules   |\n| kuroko2_logs                    |\n| kuroko2_memory_consumption_logs |\n| kuroko2_memory_expectancies     |\n| kuroko2_process_signals         |\n| kuroko2_schema_migrations       |\n| kuroko2_script_revisions        |\n| kuroko2_stars                   |\n| kuroko2_tags                    |\n| kuroko2_ticks                   |\n| kuroko2_tokens                  |\n| kuroko2_users                   |\n| kuroko2_workers                 |\n+---------------------------------+\n21 rows in set (0.00 sec)\n```\n\n## dockerで開発する\n\ngoogle_oauth2のcallbackURL( `http://127.0.0.1:3000/auth/google_oauth2/callback` )を設定する。\n\nenvファイルを用意する。\n\n```\ntouch .env.sample .env.dev\n```\n\n```\ndocker-compose build\n\n# この二つのコマンド実行には時間がかかる。原因はわかってない。\ndocker run app bundle exec rails db:create\ndocker run app bundle exec rails db:migrate SCOPE=kuroko2\n\ndocker-compose up -d\n```\n\n起動を確認する。\n\n```\ndocker-compose ps\n```\n\n## 設定の仕方\n\n公式ドキュメントを参考にしてください。\nhttps://github.com/cookpad/kuroko2/blob/master/docs/index.md\n\n## 注意事項\n\n`Kuroko2::JobDefinition#save_and_record_revision` が正しく機能してなかったので[モンキーパッチ](https://github.com/yukihirop/kuroko2/blob/master/lib/monkey_patches/override_kuroko2_jd.rb)を当てています。このモンキーパッチを当てたことでdb:migrateを実行する際に指定するSCOPE=kuroko2という設定が無視されるようになってしまったので、[table_name_prefixの設定](https://github.com/yukihirop/kuroko2/blob/master/config/application.rb#L28)をしています。\n\n## 備考\n\n開発環境のテーブルの保護機能が働いて消せない警告が発生した場合は、`DISABLE_DATABASE_ENVIRONMENT_CHECK=1` を指定して行う。\n\n```\nDISABLE_DATABASE_ENVIRONMENT_CHECK=1 bundle exec rails db:drop\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyukihirop%2Fmy_kuroko2","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyukihirop%2Fmy_kuroko2","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyukihirop%2Fmy_kuroko2/lists"}