latr.88
latr.88

Reputation: 859

How to set an event for every other Wednesday in Laravel

Laravel has a lot of options for artisan commands scheduling but I've been trying to get one to run every other Wednesday and haven't find the right combination of functions, do any of you have an idea on how to achieve this, did you test it?

Thanks!

Upvotes: 0

Views: 1075

Answers (1)

online Thomas
online Thomas

Reputation: 9381

Well crons can be specified to run on certain days of the week. Using Laravel's scheduler you could start running it every Wednesday like this:

app/Console/Kernel.php

protected function schedule(Schedule $schedule)
{
    $schedule->command('foo')
        ->wednesdays()
        ->when(function () {
            return Carbon::now()->weekOfYear % 2 == 0;
        });
}

edit: using the when function as suggested in the comments is prettier. It has all time logic in 1 place.

Upvotes: 2

Related Questions