0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Vercel Cronの設定を記述したvercel.jsonのマージに失敗する問題と解決策

Posted at

Vercel Cron jobs:指定した時間や間隔で、サーバーレス関数を自動的に実行できる機能。

問題:vercel.jsonのマージで"Deployment failed"が発生する

image.png

テストのため、1時間おきに実行できるようなテキストを作成し、
ドキュメントで誤りがないかを確認。


vercel.json
{
  "crons": [{
      "path": "/api/auto-shift/run",
      "schedule": "0 * * * *"
    }]
}

スケジュールを記述した設定ファイルvercel.jsonを追加する


image.png

ブランチをマージしようとすると、Deployment failedとなる。
詳細が表示されないため、原因の特定に時間を要しました。

何が原因だったのでしょうか?

原因:無料プランでは1日2回を超えるような"設定"もできない

> vercel deploy --prod 
Error: Hobby accounts are limited to daily cron jobs.
This cron expression (0 * * * *) would run more than once per day.
Upgrade to pro to unlock all Cron Jobs features on Vercel. 

無料(Hobby)プランでは1日に2回までしかCronを実行できないことは明示されていますが、
1日2回以上実行する設定 すらできないことは記述がありませんでした。

コマンドにてデプロイを試みたところ、エラー詳細が判明したため解決しましたが、
ドキュメントなどにも詳しい記述がないため、少し厄介な問題です。

解決策はシンプルです。

解決策:1日2回以内の実行へ変更

{
  "crons": [{
      "path": "/api/auto-shift/run",
      "schedule": "0 1 * * *"
    }]
}

実行回数を1日2回以内になるように設定することで、


image.png

デプロイを行うことができます。

参考

Cron jobsについて

プランごとの制限について

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?