Ping every second or every N seconds
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 初心者へのやさしさ
- 45/100
- issue の種類
- 機能追加
- 明瞭さ
- おおむね明確
- 活発さ
- 停滞
- 技術スタック
- github-actions, javascript, node.js
調査の方向性
まず、コマンド examples/wait-on npm run start-after-50-seconds と、そのエントリーポイント node ./index2 --delay 50 を使って動作を再現し、次に wait-on の URL リトライロジックを特定します。要求どおり、ECONNREFUSED 以外のエラーが一貫した 5 秒または 10 秒間隔で再試行され、実証された wait がタイムアウト内に成功すれば完了です。
索引モデルが issue の本文から書いたものです。
説明
Right now we ping the wait-on URL every second if we get ECONNREFUSED
If we get other error codes we ping the URL every 30 seconds, which seems like a long interval
Probably would be nicer to always ping at 5 second or 10 second intervals
2021-03-30T14:02:03.4548335Z ##[debug]parsed command: npm run start-after-50-seconds
2021-03-30T14:02:03.4549148Z waiting on "http://localhost:3050" with timeout of 60 seconds
2021-03-30T14:02:03.4550210Z ##[debug]Waiting for urls http://localhost:3050
2021-03-30T14:02:03.4551019Z ##[debug]Waiting for url http://localhost:3050
2021-03-30T14:02:03.4551548Z ##[debug]total ping timeout 60000
2021-03-30T14:02:03.4552208Z ##[debug]individual ping timeout 30000ms
2021-03-30T14:02:03.4552893Z ##[debug]retries limit 2
2021-03-30T14:02:03.4553670Z ##[debug]got error {"name":"RequestError","code":"ECONNREFUSED","timings":{"start":1617112921156,"socket":1617112921157,"lookup":1617112921158,"error":1617112921159,"phases":{"wait":1,"dns":1,"total":3}}}
2021-03-30T14:02:03.4554875Z ##[debug]14ms undefined undefined ECONNREFUSED attempt 1
2021-03-30T14:02:03.4555434Z ##[debug]found command "/usr/local/bin/npm"
2021-03-30T14:02:03.4556444Z ##[debug]with arguments run start-after-50-seconds
2021-03-30T14:02:03.4557661Z ##[debug]running "/usr/local/bin/npm" run start-after-50-seconds in /home/runner/work/github-action/github-action/examples/wait-on
2021-03-30T14:02:03.4558707Z ##[debug]waiting for the command to finish? false
2021-03-30T14:02:03.4563385Z [command]/usr/local/bin/npm run start-after-50-seconds
2021-03-30T14:02:03.4564608Z ##[debug]got error {"name":"RequestError","code":"ECONNREFUSED","timings":{"start":1617112922168,"socket":1617112922169,"lookup":1617112922169,"error":1617112922169,"phases":{"wait":1,"dns":0,"total":1}}}
2021-03-30T14:02:03.4567010Z ##[debug]1017ms undefined undefined ECONNREFUSED attempt 2
2021-03-30T14:02:03.4568401Z ##[debug]got error {"name":"RequestError","code":"ECONNREFUSED","timings":{"start":1617112923171,"socket":1617112923171,"lookup":1617112923172,"error":1617112923172,"phases":{"wait":0,"dns":1,"total":1}}}
2021-03-30T14:02:03.4569808Z ##[debug]2020ms undefined undefined ECONNREFUSED attempt 3
2021-03-30T14:02:04.1758168Z ##[debug]got error {"name":"RequestError","code":"ECONNREFUSED","timings":{"start":1617112924174,"socket":1617112924174,"lookup":1617112924174,"error":1617112924175,"phases":{"wait":0,"dns":0,"total":1}}}
2021-03-30T14:02:04.1759699Z ##[debug]3023ms undefined undefined ECONNREFUSED attempt 4
2021-03-30T14:02:05.1788683Z ##[debug]got error {"name":"RequestError","code":"ECONNREFUSED","timings":{"start":1617112925177,"socket":1617112925177,"lookup":1617112925177,"error":1617112925178,"phases":{"wait":0,"dns":0,"total":1}}}
2021-03-30T14:02:05.1789541Z ##[debug]4026ms undefined undefined ECONNREFUSED attempt 5
2021-03-30T14:02:05.2395263Z
2021-03-30T14:02:05.2397088Z > [email protected] start-after-50-seconds /home/runner/work/github-action/github-action/examples/wait-on
2021-03-30T14:02:05.2398345Z > node ./index2 --delay 50
2021-03-30T14:02:05.2398841Z
2021-03-30T14:02:05.2985205Z 2021-03-30T14:02:05.297Z * creating the server on port 3050
2021-03-30T14:02:05.3002575Z 2021-03-30T14:02:05.298Z * will respond with errors for 50 seconds
2021-03-30T14:02:05.3023616Z 2021-03-30T14:02:05.302Z * server is listening
2021-03-30T14:02:06.1848377Z 2021-03-30T14:02:06.184Z * request GET /
2021-03-30T14:02:06.1849349Z 2021-03-30T14:02:06.184Z * responding with error
2021-03-30T14:02:06.1902679Z ##[debug]got error {"name":"HTTPError","timings":{"start":1617112926180,"socket":1617112926181,"lookup":1617112926181,"connect":1617112926181,"upload":1617112926181,"response":1617112926186,"end":1617112926188,"phases":{"wait":1,"dns":0,"tcp":0,"request":0,"firstByte":5,"download":2,"total":8}}}
2021-03-30T14:02:06.1904951Z ##[debug]5038ms undefined undefined undefined attempt 6
2021-03-30T14:02:36.1993550Z 2021-03-30T14:02:36.198Z * request GET /
2021-03-30T14:02:36.1997189Z 2021-03-30T14:02:36.198Z * responding with error
2021-03-30T14:02:36.1998744Z ##[debug]got error {"name":"HTTPError","timings":{"start":1617112956196,"socket":1617112956196,"lookup":1617112956196,"connect":1617112956197,"upload":1617112956197,"response":1617112956198,"end":1617112956198,"phases":{"wait":0,"dns":0,"tcp":1,"request":0,"firstByte":1,"download":0,"total":2}}}
2021-03-30T14:02:36.1999863Z ##[debug]35047ms undefined undefined undefined attempt 7
2021-03-30T14:03:06.2289936Z 2021-03-30T14:03:06.228Z * request GET /
2021-03-30T14:03:06.2290939Z 2021-03-30T14:03:06.228Z * responding all good
2021-03-30T14:03:06.2305176Z ##[debug]pinging http://localhost:3050 has finished ok after 65078ms
- 主要言語
- JavaScript
- スター
- 1.5k
- フォーク
- 356
- 平均マージ
- 1日 18時間
- マージ済み PR(30日)
- 25
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
cypress-io/github-action のほかの issue
-
Renovate: lock file maintenance fails in Yarn Modern再び着手できるかも このイシューのプルリクエストはマージされずにクローズされました。 オープンbug renovate
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
cypress-io/github-action#1910 · コメント 3 件 ·
メンテナーはふだん 1 日以内に返信
-
renovate
難易度 2/5 1〜3時間 初心者へのやさしさ 48/100
cypress-io/github-action#1911 ·
メンテナーはふだん 1 日以内に返信
-
Yarn v1 Classic unsupported - deprecation is due再び着手できるかも @MikeMcC399 が 125 日前に担当しましたが、オープン中のプルリクエストはありません。 オープンdocumentation
cypress-io/github-action#1819 · コメント 2 件 · 担当者 1 名 ·
メンテナーはふだん 1 日以内に返信
-
Migrate to ESMオープンtype: enhancement
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
cypress-io/github-action#1647 · コメント 4 件 ·
メンテナーはふだん 1 日以内に返信
-
Cypress.env deprecation / cy.env addition再び着手できるかも @MikeMcC399 が 60 日前に担当しましたが、オープン中のプルリクエストはありません。 オープンtests type: enhancement
cypress-io/github-action#1620 · コメント 8 件 · 担当者 1 名 ·
メンテナーはふだん 1 日以内に返信
cypress-io/github-action の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
メンテナーはふだん 1 日以内に返信
-
help wanted Idea 💡 wdio-cli
難易度 2/5 1〜3時間 初心者へのやさしさ 66/100
webdriverio/webdriverio#16361 · コメント 2 件 ·
メンテナーはふだん 1 日以内に返信
-
clientV2: Application Info header separators show as missing-character boxes without a CJK fontオープンbug new-client
難易度 1/5 1〜3時間 初心者へのやさしさ 88/100
NUWCDIVNPT/stig-manager#2285 ·
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 88/100
Fei2411/DeepSeek-Bot#922 · リアクション 1 件 ·
-
Workers AI integration drops output of non-streaming chat responses in the OpenAI format (`choices`)オープンBug Cloudflare Workers Spans
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
getsentry/sentry-javascript#26120 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信