Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

複数台のサーバのどれか一台でcronしたいとき(Laravel)

More than 1 year has passed since last update.

5.6

memcachedredisを導入し、全サーバが同一のキャッシュサーバに向いていれば、onOneServer()メソッドで一回だけ処理することが出来る。。

$schedule->command('report:generate')
                ->fridays()
                ->at('17:00')
                ->onOneServer();

5.5

5.5にはonOneServer()メソッドがないので代わりに以下を使う。
jdavidbakr/MultiServerEvent: Laravel plugin to allow scheduled events across multiple servers with the same scheduler to not overlap.

こちらはDBでロック管理をしているので、同じDBに向いている必要がある。
初期設定をしたら後はwithoutOverlappingMultiServer()メソッドで一回だけ処理することができる。

$schedule->command('report:generate')
                ->fridays()
                ->at('17:00')
                ->withoutOverlappingMultiServer();
sencorp
幼稚園・保育園向けインターネット写真サービス「はいチーズ!」を提供しています。
https://sencorp.co.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away