Skip to content

feat(perl): Perl移植#164

Merged
mackee merged 14 commits intomainfrom
perl/qualify
Jul 20, 2022
Merged

feat(perl): Perl移植#164
mackee merged 14 commits intomainfrom
perl/qualify

Conversation

@kfly8
Copy link
Contributor

@kfly8 kfly8 commented Jul 14, 2022

TODO

  • 整合性チェック通過
  • ベンチマーク完走
  • Web Appでの動作
  • sqltraceの移植

@kfly8 kfly8 self-assigned this Jul 14, 2022
@github-actions
Copy link

04:12:59.956686 初期化リクエストに成功しました 実装言語:go
04:12:59.956706 整合性チェックを開始します
04:13:08.150945 整合性チェックを終了します
04:13:08.151020 整合性チェックに成功しました
04:13:08.151061 負荷走行を開始します
04:13:13.151863 大会「第6回 XSUCONチャーシュー厳しい」を作成しました (類似のログ計4件)
04:13:13.151872 テナント「チームステージングくしいの中」を作成しました (類似のログ計1件)
04:13:18.151912 大会「こんにちはみかんで再起動大会」を作成しました (類似のログ計4件)
04:13:23.152068 大会「ああダッシュさんカップ」を作成しました (類似のログ計2件)
04:13:28.151390 大会「麻婆ミネストローネ派」を作成しました (類似のログ計2件)
04:13:33.151472 大会「アラフォーだってツナ館カップ」を作成しました (類似のログ計2件)
04:13:38.151869 大会「町田乙女 vol.7」を作成しました (類似のログ計2件)
04:13:43.151690 大会「第6回 アロエ日記」を作成しました (類似のログ計3件)
04:13:48.151367 大会「ビール地獄カップ」を作成しました (類似のログ計2件)
04:13:53.151955 大会「バーチャルパフォーマンス方式 vol.6」を作成しました (類似のログ計1件)
04:13:58.151603 大会「洋風二子玉川卒 vol.8」を作成しました (類似のログ計1件)
04:14:03.151121 大会「細麺同盟大会」を作成しました (類似のログ計3件)
04:14:08.151801 大会「第9回 荻窪賛歌」を作成しました (類似のログ計2件)
04:14:08.151969 負荷走行を終了します
04:14:09.155048 PASSED: true
04:14:09.155054 SCORE: 3778 (+3778 0)
GET /api/admin/tenants/billing: 10
GET /api/organizer/billing: 22
GET /api/organizer/players/list: 70
GET /api/player/competition/:competition_id/ranking: 512
GET /api/player/competitions: 28
GET /api/player/player/:player_name: 778
POST /api/admin/tenants/add: 2
POST /api/organizer/competition/:competition_id/finish: 25
POST /api/organizer/competition/:competition_id/score: 49
POST /api/organizer/competitions/add: 28
POST /api/organizer/player/:player_name/disqualified: 38
POST /api/organizer/players/add: 2

@kfly8 kfly8 changed the title feat(perl): Perl移植 [WIP] feat(perl): Perl移植 Jul 14, 2022
@github-actions
Copy link

15:04:21.728381 初期化リクエストに成功しました 実装言語:perl
15:04:21.728529 整合性チェックを開始します
15:04:51.801584 error: テナントへプレイヤー追加 request: Post "https://valid-tenantid.t.isucon.dev/api/organizer/players/add": context deadline exceeded (Client.Timeout exceeded while awaiting headers) tenant:valid-tenantid role:organizer playerID:organizer playerDisplayNames length:100
15:04:51.801703 error: 新規テナント作成 request: Post "https://admin.t.isucon.dev/api/admin/tenants/add": context deadline exceeded (Client.Timeout exceeded while awaiting headers) tenant:admin role:admin playerID:admin name:rankingcheck-tenantid displayName:rankingCheck-Tenantname
15:04:51.801588 error: 新規テナント作成 request: Post "https://admin.t.isucon.dev/api/admin/tenants/add": context deadline exceeded (Client.Timeout exceeded while awaiting headers) tenant:admin role:admin playerID:admin name:invalid-jwt-tenant displayName:valid-Tenantname tenant:admin role:admin playerID:admin
15:04:51.802518 error: テナント別の請求ダッシュボード: 初期データチェック request: Get "https://admin.t.isucon.dev/api/admin/tenants/billing?before=75": context deadline exceeded (Client.Timeout exceeded while awaiting headers) tenant:admin role:admin playerID:admin beforeTenantID:75
15:04:51.802897 error: 新規テナント作成 request: Post "https://admin.t.isucon.dev/api/admin/tenants/add": context deadline exceeded (Client.Timeout exceeded while awaiting headers) tenant:admin role:admin playerID:admin name:badrequest-tenantid displayName:badRequestCheck-Tenantname
15:04:51.803267 整合性チェックを終了します
error: テナントへプレイヤー追加 request: Post "https://valid-tenantid.t.isucon.dev/api/organizer/players/add": context deadline exceeded (Client.Timeout exceeded while awaiting headers) tenant:valid-tenantid role:organizer playerID:organizer playerDisplayNames length:100
15:04:52.806328 ERROR[0] prepare: request: Post "https://valid-tenantid.t.isucon.dev/api/organizer/players/add": context deadline exceeded (Client.Timeout exceeded while awaiting headers) tenant:valid-tenantid role:organizer playerID:organizer playerDisplayNames length:100
15:04:52.806350 ERROR[1] prepare: request: Post "https://admin.t.isucon.dev/api/admin/tenants/add": context deadline exceeded (Client.Timeout exceeded while awaiting headers) tenant:admin role:admin playerID:admin name:rankingcheck-tenantid displayName:rankingCheck-Tenantname
15:04:52.806378 ERROR[2] prepare: request: Post "https://admin.t.isucon.dev/api/admin/tenants/add": context deadline exceeded (Client.Timeout exceeded while awaiting headers) tenant:admin role:admin playerID:admin name:invalid-jwt-tenant displayName:valid-Tenantname tenant:admin role:admin playerID:admin
15:04:52.806391 ERROR[3] prepare: request: Get "https://admin.t.isucon.dev/api/admin/tenants/billing?before=75": context deadline exceeded (Client.Timeout exceeded while awaiting headers) tenant:admin role:admin playerID:admin beforeTenantID:75
15:04:52.806395 ERROR[4] prepare: request: Post "https://admin.t.isucon.dev/api/admin/tenants/add": context deadline exceeded (Client.Timeout exceeded while awaiting headers) tenant:admin role:admin playerID:admin name:badrequest-tenantid displayName:badRequestCheck-Tenantname
15:04:52.806398 ERROR[5] prepare: 整合性チェックに失敗しました
15:04:52.811341 PASSED: true
15:04:52.811347 SCORE: 0 (+0 -60)
GET /api/admin/tenants/billing: 0
GET /api/organizer/billing: 0
GET /api/player/competition/:competition_id/ranking: 0
GET /api/player/competitions: 0
GET /api/player/player/:player_name: 0
POST /api/admin/tenants/add: 0
POST /api/organizer/competition/:competition_id/finish: 0
POST /api/organizer/competition/:competition_id/score: 0
POST /api/organizer/competitions/add: 0
POST /api/organizer/player/:player_name/disqualified: 0
POST /api/organizer/players/add: 0

@github-actions
Copy link

16:14:35.248519 初期化リクエストに成功しました 実装言語:perl
16:14:35.248544 整合性チェックを開始します
16:15:05.293727 error: テナント別の請求ダッシュボード: 初期データチェック request: Get "https://admin.t.isucon.dev/api/admin/tenants/billing?before=28": context deadline exceeded (Client.Timeout exceeded while awaiting headers) tenant:admin role:admin playerID:admin beforeTenantID:28
16:15:05.295674 error: 新規テナント作成 request: Post "https://admin.t.isucon.dev/api/admin/tenants/add": context deadline exceeded (Client.Timeout exceeded while awaiting headers) tenant:admin role:admin playerID:admin name:badrequest-tenantid displayName:badRequestCheck-Tenantname
16:15:05.297121 error: 新規テナント作成 request: Post "https://admin.t.isucon.dev/api/admin/tenants/add": context deadline exceeded (Client.Timeout exceeded while awaiting headers) tenant:admin role:admin playerID:admin name:invalid-jwt-tenant displayName:valid-Tenantname tenant:admin role:admin playerID:admin
16:15:05.303683 error: テナントへプレイヤー追加 request: Post "https://valid-tenantid.t.isucon.dev/api/organizer/players/add": context deadline exceeded (Client.Timeout exceeded while awaiting headers) tenant:valid-tenantid role:organizer playerID:organizer playerDisplayNames length:100
16:15:05.320169 error: 新規大会追加) request: Post "https://rankingcheck-tenantid.t.isucon.dev/api/organizer/competitions/add": context deadline exceeded (Client.Timeout exceeded while awaiting headers) tenant:rankingcheck-tenantid role:organizer playerID:organizer title:ranking_check_competition
16:15:05.320543 整合性チェックを終了します
error: 新規テナント作成 request: Post "https://admin.t.isucon.dev/api/admin/tenants/add": context deadline exceeded (Client.Timeout exceeded while awaiting headers) tenant:admin role:admin playerID:admin name:badrequest-tenantid displayName:badRequestCheck-Tenantname
16:15:06.322361 ERROR[0] prepare: request: Get "https://admin.t.isucon.dev/api/admin/tenants/billing?before=28": context deadline exceeded (Client.Timeout exceeded while awaiting headers) tenant:admin role:admin playerID:admin beforeTenantID:28
16:15:06.322576 ERROR[1] prepare: request: Post "https://admin.t.isucon.dev/api/admin/tenants/add": context deadline exceeded (Client.Timeout exceeded while awaiting headers) tenant:admin role:admin playerID:admin name:badrequest-tenantid displayName:badRequestCheck-Tenantname
16:15:06.323097 ERROR[2] prepare: request: Post "https://admin.t.isucon.dev/api/admin/tenants/add": context deadline exceeded (Client.Timeout exceeded while awaiting headers) tenant:admin role:admin playerID:admin name:invalid-jwt-tenant displayName:valid-Tenantname tenant:admin role:admin playerID:admin
16:15:06.323112 ERROR[3] prepare: request: Post "https://valid-tenantid.t.isucon.dev/api/organizer/players/add": context deadline exceeded (Client.Timeout exceeded while awaiting headers) tenant:valid-tenantid role:organizer playerID:organizer playerDisplayNames length:100
16:15:06.323122 ERROR[4] prepare: request: Post "https://rankingcheck-tenantid.t.isucon.dev/api/organizer/competitions/add": context deadline exceeded (Client.Timeout exceeded while awaiting headers) tenant:rankingcheck-tenantid role:organizer playerID:organizer title:ranking_check_competition
16:15:06.323131 ERROR[5] prepare: 整合性チェックに失敗しました
16:15:06.323464 PASSED: true
16:15:06.323648 SCORE: 0 (+0 -60)
GET /api/admin/tenants/billing: 0
GET /api/organizer/billing: 0
GET /api/player/competition/:competition_id/ranking: 0
GET /api/player/competitions: 0
GET /api/player/player/:player_name: 0
POST /api/admin/tenants/add: 0
POST /api/organizer/competition/:competition_id/finish: 0
POST /api/organizer/competition/:competition_id/score: 0
POST /api/organizer/competitions/add: 0
POST /api/organizer/player/:player_name/disqualified: 0
POST /api/organizer/players/add: 0

@github-actions
Copy link

07:10:25.956129 初期化リクエストに成功しました 実装言語:perl
07:10:25.956212 整合性チェックを開始します
07:10:38.110069 整合性チェックを終了します
07:10:38.110104 整合性チェックに成功しました
07:10:38.110316 負荷走行を開始します
07:10:48.111117 テナント「千葉の浦和基地」を作成しました (類似のログ計1件)
07:10:53.111091 大会「メロン症候群大会」を作成しました (類似のログ計4件)
07:11:13.110656 大会「スーパーアワビ.py」を作成しました (類似のログ計1件)
07:11:38.110272 負荷走行を終了します
07:11:39.119537 PASSED: true
07:11:39.119550 SCORE: 515 (+515 0)
GET /api/admin/tenants/billing: 8
GET /api/organizer/billing: 0
GET /api/organizer/players/list: 8
GET /api/player/competition/:competition_id/ranking: 86
GET /api/player/competitions: 42
GET /api/player/player/:player_name: 27
POST /api/admin/tenants/add: 2
POST /api/organizer/competition/:competition_id/finish: 3
POST /api/organizer/competition/:competition_id/score: 7
POST /api/organizer/competitions/add: 5
POST /api/organizer/player/:player_name/disqualified: 1
POST /api/organizer/players/add: 2

https://github.com/isucon/isucon12-qualify/actions/runs/2681032304

use DBIx::Tracer;
use POSIX qw(strftime);
use Fcntl qw(O_CREAT O_APPEND O_WRONLY);
use JSON::PP;
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cpanel::JSON::XSが、現時点ではsort_byのコードブロックをサポートしていなかったので、JSON::PPを利用しています。

@github-actions
Copy link

13:04:30.147364 初期化リクエストに成功しました 実装言語:perl
13:04:30.147417 整合性チェックを開始します
13:04:40.952137 整合性チェックを終了します
13:04:40.952286 整合性チェックに成功しました
13:04:40.952455 負荷走行を開始します
13:04:45.953060 テナント「チームワインしかねえ」を作成しました (類似のログ計1件)
13:04:50.952593 大会「里芋しかねえカップ」を作成しました (類似のログ計1件)
13:04:55.952576 大会「プロセスヒーローズ」を作成しました (類似のログ計1件)
13:05:05.953274 大会「プレミアム豆腐の缶詰杯」を作成しました (類似のログ計3件)
13:05:40.953485 負荷走行を終了します
13:05:41.956847 PASSED: true
13:05:41.956928 SCORE: 500 (+500 0)
GET /api/admin/tenants/billing: 7
GET /api/organizer/billing: 0
GET /api/organizer/players/list: 7
GET /api/player/competition/:competition_id/ranking: 86
GET /api/player/competitions: 42
GET /api/player/player/:player_name: 32
POST /api/admin/tenants/add: 2
POST /api/organizer/competition/:competition_id/finish: 3
POST /api/organizer/competition/:competition_id/score: 7
POST /api/organizer/competitions/add: 5
POST /api/organizer/player/:player_name/disqualified: 1
POST /api/organizer/players/add: 2

https://github.com/isucon/isucon12-qualify/actions/runs/2681934032

statement => $statement,
args => $bind_params,
query_time => sprintf('%.6f', $query_time),
dbname => $dbname,
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

affected_rowsを取得するには、DBIx::Tracerをカスタマイズする必要があるので、一旦、対応なしにしています。
代わりに(?)に、dbnameがあった方が便利だと思ったので載せています。

@kfly8 kfly8 changed the title [WIP] feat(perl): Perl移植 feat(perl): Perl移植 Jul 16, 2022
@github-actions
Copy link

13:36:38.145975 初期化リクエストに成功しました 実装言語:perl
13:36:38.146235 整合性チェックを開始します
13:36:51.041120 整合性チェックを終了します
13:36:51.041995 整合性チェックに成功しました
13:36:51.042035 負荷走行を開始します
13:37:01.042163 大会「鎌倉は命より重い杯」を作成しました (類似のログ計2件)
13:37:01.042181 テナント「チーム事実上ラーメン書房」を作成しました (類似のログ計1件)
13:37:11.042172 大会「エフェクティブバ美肉.py vol.5」を作成しました (類似のログ計2件)
13:37:16.042712 大会「メモリ.dev #0」を作成しました (類似のログ計1件)
13:37:51.042336 負荷走行を終了します
13:37:52.050614 PASSED: true
13:37:52.050763 SCORE: 575 (+575 0)
GET /api/admin/tenants/billing: 9
GET /api/organizer/billing: 1
GET /api/organizer/players/list: 9
GET /api/player/competition/:competition_id/ranking: 93
GET /api/player/competitions: 42
GET /api/player/player/:player_name: 50
POST /api/admin/tenants/add: 2
POST /api/organizer/competition/:competition_id/finish: 3
POST /api/organizer/competition/:competition_id/score: 7
POST /api/organizer/competitions/add: 5
POST /api/organizer/player/:player_name/disqualified: 1
POST /api/organizer/players/add: 2

https://github.com/isucon/isucon12-qualify/actions/runs/2682023708

@kfly8 kfly8 requested a review from mackee July 16, 2022 13:38
@github-actions
Copy link

01:08:07.795305 初期化リクエストに成功しました 実装言語:perl
01:08:07.795361 整合性チェックを開始します
01:08:22.172421 整合性チェックを終了します
01:08:22.172493 整合性チェックに成功しました
01:08:22.172544 負荷走行を開始します
01:08:27.173625 テナント「じゃがいも事務所」を作成しました (類似のログ計1件)
01:08:37.174886 大会「餃子夜会」を作成しました (類似のログ計1件)
01:08:42.173242 大会「ライブドーナツ杯」を作成しました (類似のログ計1件)
01:08:47.072541 error: 大会結果CSV入稿 POST /api/organizer/competition/9fa5291c/score : expected([200]) != actual(500) tenant:isucon role:organizer playerID:organizer competitionID:9fa5291c  CSV length:8355bytes
01:08:47.173518 大会「新卒たまプラーザのーと vol.7」を作成しました (類似のログ計1件)
01:08:52.173883 大会「みたらしの楽園 vol.1」を作成しました (類似のログ計1件)
01:08:57.174161 大会「第3回 破壊的たまねぎ(仮)」を作成しました (類似のログ計1件)
01:09:12.173555 大会「ドラゴンフルーツズ杯」を作成しました (類似のログ計1件)
01:09:22.173630 負荷走行を終了します
01:09:23.175991 ERROR[0] load: validation: POST /api/organizer/competition/9fa5291c/score : expected([200]) != actual(500) tenant:isucon role:organizer playerID:organizer competitionID:9fa5291c  CSV length:8355bytes
01:09:23.180819 PASSED: true
01:09:23.180831 SCORE: 493 (+503 -10)
GET /api/admin/tenants/billing: 8
GET /api/organizer/billing: 1
GET /api/organizer/players/list: 8
GET /api/player/competition/:competition_id/ranking: 80
GET /api/player/competitions: 42
GET /api/player/player/:player_name: 31
POST /api/admin/tenants/add: 2
POST /api/organizer/competition/:competition_id/finish: 2
POST /api/organizer/competition/:competition_id/score: 5
POST /api/organizer/competitions/add: 6
POST /api/organizer/player/:player_name/disqualified: 1
POST /api/organizer/players/add: 2

https://github.com/isucon/isucon12-qualify/actions/runs/2683806177

Comment on lines +1171 to +1188
try {
$v = $self->parse_viewer($c);
}
catch ($e) {
if ($e isa Kossy::Exception && $e->{code} == HTTP_UNAUTHORIZED) {
return $c->render_json({
status => true,
data => {
tenant => $tenant_detail,
me => undef,
role => ROLE_NONE,
logged_in => false,
}
}, MeHandlerSuccess);
}

fail($c, HTTP_INTERNAL_SERVER_ERROR, sprintf('error parse viewer: %s', $e));
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

#174 この部分は変わる可能性あり


my $role = $token->{role};
unless ($role eq ROLE_ADMIN || $role eq ROLE_ORGANIZER || $role eq ROLE_PLAYER) {
fail($c, HTTP_UNAUTHORIZED, sprintf("invalid token: %s is invalid role: %s", $role, $token_str));
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Goの場合はroleのキャストが成功するかわからなかったので、ここでいう$roleをエラーメッセージに乗せるのはやめましたが、Perlの場合は問題なさそうなのでこれで良さそう

#188

Copy link
Contributor

@mackee mackee left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

コメントしましたが動作には問題ない箇所です
テナント請求の計算式コメントが間違っている部分だけ最低でも直してもらえればOKです

@mackee mackee self-requested a review July 19, 2022 06:34
@github-actions
Copy link

11:42:16.384024 初期化リクエストに成功しました 実装言語:perl
11:42:16.384054 整合性チェックを開始します
11:42:29.709035 整合性チェックを終了します
11:42:29.709525 整合性チェックに成功しました
11:42:29.710222 負荷走行を開始します
11:42:34.711321 テナント「チームパッと見バ美肉のお茶会」を作成しました (類似のログ計1件)
11:42:39.710750 大会「2段飛ばしアメリカンチェリー協奏曲カップ」を作成しました (類似のログ計1件)
11:42:49.711703 大会「トンポーローまみれ vol.4」を作成しました (類似のログ計2件)
11:42:54.713905 大会「バナナ〜♪大会」を作成しました (類似のログ計1件)
11:43:29.710908 負荷走行を終了します
11:43:30.716051 PASSED: true
11:43:30.717453 SCORE: 509 (+509 0)
GET /api/admin/tenants/billing: 9
GET /api/organizer/billing: 1
GET /api/organizer/players/list: 8
GET /api/player/competition/:competition_id/ranking: 78
GET /api/player/competitions: 42
GET /api/player/player/:player_name: 49
POST /api/admin/tenants/add: 2
POST /api/organizer/competition/:competition_id/finish: 2
POST /api/organizer/competition/:competition_id/score: 5
POST /api/organizer/competitions/add: 4
POST /api/organizer/player/:player_name/disqualified: 1
POST /api/organizer/players/add: 2

https://github.com/isucon/isucon12-qualify/actions/runs/2697341286

@kfly8
Copy link
Contributor Author

kfly8 commented Jul 19, 2022

@mackee レビューありがとうございます!

レビュー後、次の3つの修正加えています。

  • 全APIにCache-Control: privateを指定する c1dd153
  • create_tenant_dbのコメント追記 c286f24
  • 許可するアルゴリズムを指定 69bfd9d
    • 整合性チェックが落ちていたので、これでfix

@fujiwara
Copy link
Member

fujiwara commented Jul 19, 2022

本番imageを焼いてEC2でベンチしたところ、整合性チェックで以下のエラーが出ました。(後で調べます)

error flock lock: path=../tenant_db/147.lock, Resource temporarily unavailable at lib/Isuports/Web.pm line 294
        Isuports::Web::flock_by_tenant_id(147) called at lib/Isuports/Web.pm line 1016

@github-actions
Copy link

10:42:17.556746 初期化リクエストに成功しました 実装言語:perl
10:42:17.557076 整合性チェックを開始します
10:42:32.558722 整合性チェックを終了します
10:42:32.558793 整合性チェックに成功しました
10:42:32.558862 負荷走行を開始します
10:42:47.559950 大会「天から土下座だもの杯」を作成しました (類似のログ計1件)
10:42:57.559005 大会「レモン過激派」を作成しました (類似のログ計2件)
10:43:32.559620 負荷走行を終了します
10:43:33.560675 PASSED: true
10:43:33.560683 SCORE: 317 (+317 0)
GET /api/admin/tenants/billing: 8
GET /api/organizer/billing: 1
GET /api/organizer/players/list: 6
GET /api/player/competition/:competition_id/ranking: 38
GET /api/player/competitions: 0
GET /api/player/player/:player_name: 9
POST /api/admin/tenants/add: 1
POST /api/organizer/competition/:competition_id/finish: 2
POST /api/organizer/competition/:competition_id/score: 4
POST /api/organizer/competitions/add: 3
POST /api/organizer/player/:player_name/disqualified: 1
POST /api/organizer/players/add: 1

https://github.com/isucon/isucon12-qualify/actions/runs/2704109202

@github-actions
Copy link

10:48:40.556313 初期化リクエストに成功しました 実装言語:perl
10:48:40.556336 整合性チェックを開始します
10:48:54.842745 整合性チェックを終了します
10:48:54.842769 整合性チェックに成功しました
10:48:54.842803 負荷走行を開始します
10:49:14.845467 大会「アイドルスパゲッティ.js #3」を作成しました (類似のログ計1件)
10:49:19.843071 大会「なすの楽園 vol.2」を作成しました (類似のログ計2件)
10:49:54.842946 負荷走行を終了します
10:49:55.846088 PASSED: true
10:49:55.846097 SCORE: 307 (+307 0)
GET /api/admin/tenants/billing: 8
GET /api/organizer/billing: 1
GET /api/organizer/players/list: 5
GET /api/player/competition/:competition_id/ranking: 38
GET /api/player/competitions: 0
GET /api/player/player/:player_name: 9
POST /api/admin/tenants/add: 1
POST /api/organizer/competition/:competition_id/finish: 2
POST /api/organizer/competition/:competition_id/score: 4
POST /api/organizer/competitions/add: 3
POST /api/organizer/player/:player_name/disqualified: 1
POST /api/organizer/players/add: 1

https://github.com/isucon/isucon12-qualify/actions/runs/2704145039

@github-actions
Copy link

10:49:25.275556 初期化リクエストに成功しました 実装言語:perl
10:49:25.275574 整合性チェックを開始します
10:49:38.982842 整合性チェックを終了します
10:49:38.982882 整合性チェックに成功しました
10:49:38.982915 負荷走行を開始します
10:49:58.983032 大会「無農薬チェンソー山 vol.5」を作成しました (類似のログ計2件)
10:50:03.983173 大会「魔の桜木町週間大会」を作成しました (類似のログ計1件)
10:50:38.983354 負荷走行を終了します
10:50:39.987039 PASSED: true
10:50:39.987098 SCORE: 329 (+329 0)
GET /api/admin/tenants/billing: 9
GET /api/organizer/billing: 1
GET /api/organizer/players/list: 6
GET /api/player/competition/:competition_id/ranking: 38
GET /api/player/competitions: 0
GET /api/player/player/:player_name: 11
POST /api/admin/tenants/add: 1
POST /api/organizer/competition/:competition_id/finish: 2
POST /api/organizer/competition/:competition_id/score: 4
POST /api/organizer/competitions/add: 3
POST /api/organizer/player/:player_name/disqualified: 1
POST /api/organizer/players/add: 1

https://github.com/isucon/isucon12-qualify/actions/runs/2704150051

@mackee mackee merged commit 6ea14a7 into main Jul 20, 2022
@mackee mackee deleted the perl/qualify branch July 20, 2022 10:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants