HerokuにNode.jsで作成したアプリをデプロイした際、以下のエラーで別のサーバーの情報が取得できませんでした。
UnhandledPromiseRejectionWarning: Error: connect ETIMEDOUT
結論から書くと、dynoの再起動で回復することがあるので、回復するまで再起動しました。

Node.jsの学習のためErogameScapeのPostgreSQLからデータを取得してNode.jsで加工して表示するという習作をしていました。
しかし上記のエラーがでてErogameScapeから情報を取得できませんでした。
切り分けた結果、ErogameScape側に問題はありませんでした。
同じようなサービスであるGlitchにデプロイしたところ問題は発生しなかったので、おそらくHerokuの問題だと推測しました。

dynoを起動して、接続できないときは、いつまでたっても接続できません。
ソースを適当に変更してgit pushすることで、dynoを再起動すると、たまに繋がることが分かりました。※他にdynoを再起動する方法があれば教えてほしいです。

Herokuの中で完結するサービスだったらいいのですが、外部APIを使ったサービスをする場合は…みなさんどうしているのでしょうか…
dynoは1日に1回再起動するとのことなので、そのタイミングで運が悪いとつながらなくなるかもしれないと思いました。

作成したアプリ(画面?)は以下のとおりです。
  • OOpartsゲーム一覧(Herokuにデプロイしたもの)
    ※30分でスリープします。スリープしている場合は閲覧するまで時間がかかります。
  • OOpartsゲーム一覧(Glitchにデプロイしたもの)
    ※5分でスリープします。スリープしている場合は閲覧するまで時間がかかります。