Event
class Event (View source)
Traits
Macroable | |
ManagesFrequencies | |
ReflectsClosures |
Properties
static protected array | $macros | The registered string macros. | from Macroable |
string | $command | The command string. | |
string | $expression | The cron expression representing the event's frequency. | |
DateTimeZone|string | $timezone | The timezone the date should be evaluated on. | |
string | $user | The user the command should run as. | |
array | $environments | The list of environments the command should run under. | |
bool | $evenInMaintenanceMode | Indicates if the command should run in maintenance mode. | |
bool | $withoutOverlapping | Indicates if the command should not overlap itself. | |
bool | $onOneServer | Indicates if the command should only be allowed to run on one server for each cron expression. | |
int | $expiresAt | The amount of time the mutex should be valid. | |
bool | $runInBackground | Indicates if the command should run in background. | |
protected array | $filters | The array of filter callbacks. | |
protected array | $rejects | The array of reject callbacks. | |
string | $output | The location that output should be sent to. | |
bool | $shouldAppendOutput | Indicates whether output should be appended. | |
protected array | $beforeCallbacks | The array of callbacks to be run before the event is started. | |
protected array | $afterCallbacks | The array of callbacks to be run after the event is finished. | |
string | $description | The human readable description of the event. | |
EventMutex | $mutex | The event mutex implementation. | |
int|null | $exitCode | The exit status code of the command. |
Methods
static void | macro(string $name, object|callable $macro) Register a custom macro. | from Macroable |
static void | mixin(object $mixin, bool $replace = true) Mix another object into the class. | from Macroable |
static bool | hasMacro(string $name) Checks if macro is registered. | from Macroable |
static mixed | __callStatic(string $method, array $parameters) Dynamically handle calls to the class. | from Macroable |
mixed | __call(string $method, array $parameters) Dynamically handle calls to the class. | from Macroable |
$this | cron(string $expression) The Cron expression representing the event's frequency. | from ManagesFrequencies |
$this | between(string $startTime, string $endTime) Schedule the event to run between start and end time. | from ManagesFrequencies |
$this | unlessBetween(string $startTime, string $endTime) Schedule the event to not run between start and end time. | from ManagesFrequencies |
$this | everyMinute() Schedule the event to run every minute. | from ManagesFrequencies |
$this | everyTwoMinutes() Schedule the event to run every two minutes. | from ManagesFrequencies |
$this | everyThreeMinutes() Schedule the event to run every three minutes. | from ManagesFrequencies |
$this | everyFourMinutes() Schedule the event to run every four minutes. | from ManagesFrequencies |
$this | everyFiveMinutes() Schedule the event to run every five minutes. | from ManagesFrequencies |
$this | everyTenMinutes() Schedule the event to run every ten minutes. | from ManagesFrequencies |
$this | everyFifteenMinutes() Schedule the event to run every fifteen minutes. | from ManagesFrequencies |
$this | everyThirtyMinutes() Schedule the event to run every thirty minutes. | from ManagesFrequencies |
$this | hourly() Schedule the event to run hourly. | from ManagesFrequencies |
$this | hourlyAt(array|int $offset) Schedule the event to run hourly at a given offset in the hour. | from ManagesFrequencies |
$this | everyTwoHours() Schedule the event to run every two hours. | from ManagesFrequencies |
$this | everyThreeHours() Schedule the event to run every three hours. | from ManagesFrequencies |
$this | everyFourHours() Schedule the event to run every four hours. | from ManagesFrequencies |
$this | everySixHours() Schedule the event to run every six hours. | from ManagesFrequencies |
$this | daily() Schedule the event to run daily. | from ManagesFrequencies |
$this | at(string $time) Schedule the command at a given time. | from ManagesFrequencies |
$this | dailyAt(string $time) Schedule the event to run daily at a given time (10:00, 19:30, etc). | from ManagesFrequencies |
$this | twiceDaily(int $first = 1, int $second = 13) Schedule the event to run twice daily. | from ManagesFrequencies |
$this | weekdays() Schedule the event to run only on weekdays. | from ManagesFrequencies |
$this | weekends() Schedule the event to run only on weekends. | from ManagesFrequencies |
$this | mondays() Schedule the event to run only on Mondays. | from ManagesFrequencies |
$this | tuesdays() Schedule the event to run only on Tuesdays. | from ManagesFrequencies |
$this | wednesdays() Schedule the event to run only on Wednesdays. | from ManagesFrequencies |
$this | thursdays() Schedule the event to run only on Thursdays. | from ManagesFrequencies |
$this | fridays() Schedule the event to run only on Fridays. | from ManagesFrequencies |
$this | saturdays() Schedule the event to run only on Saturdays. | from ManagesFrequencies |
$this | sundays() Schedule the event to run only on Sundays. | from ManagesFrequencies |
$this | weekly() Schedule the event to run weekly. | from ManagesFrequencies |
$this | weeklyOn(int $dayOfWeek, string $time = '0:0') Schedule the event to run weekly on a given day and time. | from ManagesFrequencies |
$this | monthly() Schedule the event to run monthly. | from ManagesFrequencies |
$this | monthlyOn(int $dayOfMonth = 1, string $time = '0:0') Schedule the event to run monthly on a given day and time. | from ManagesFrequencies |
$this | twiceMonthly(int $first = 1, int $second = 16, string $time = '0:0') Schedule the event to run twice monthly at a given time. | from ManagesFrequencies |
$this | lastDayOfMonth(string $time = '0:0') Schedule the event to run on the last day of the month. | from ManagesFrequencies |
$this | quarterly() Schedule the event to run quarterly. | from ManagesFrequencies |
$this | yearly() Schedule the event to run yearly. | from ManagesFrequencies |
$this | yearlyOn(int $month = 1, int|string $dayOfMonth = 1, string $time = '0:0') Schedule the event to run yearly on a given month, day, and time. | from ManagesFrequencies |
$this | days(array|mixed $days) Set the days of the week the command should run on. | from ManagesFrequencies |
$this | timezone(DateTimeZone|string $timezone) Set the timezone the date should be evaluated on. | from ManagesFrequencies |
$this | spliceIntoPosition(int $position, string $value) Splice the given value into the given position of the expression. | from ManagesFrequencies |
array | closureParameterTypes(Closure $closure) Get the class names / types of the parameters of the given Closure. | from ReflectsClosures |
string | firstClosureParameterType(Closure $closure) Get the class name of the first parameter of the given Closure. | from ReflectsClosures |
void | __construct(EventMutex $mutex, string $command, DateTimeZone|string|null $timezone = null) Create a new event instance. | |
string | getDefaultOutput() Get the default output depending on the OS. | |
void | run(Container $container) Run the given event. | |
string | mutexName() Get the mutex name for the scheduled command. | |
void | runCommandInForeground(Container $container) Run the command in the foreground. | |
void | runCommandInBackground(Container $container) Run the command in the background. | |
void | callBeforeCallbacks(Container $container) Call all of the "before" callbacks for the event. | |
void | callAfterCallbacks(Container $container) Call all of the "after" callbacks for the event. | |
void | callAfterCallbacksWithExitCode(Container $container, int $exitCode) Call all of the "after" callbacks for the event. | |
string | buildCommand() Build the command string. | |
bool | isDue(Application $app) Determine if the given event should run based on the Cron expression. | |
bool | runsInMaintenanceMode() Determine if the event runs in maintenance mode. | |
bool | expressionPasses() Determine if the Cron expression passes. | |
bool | runsInEnvironment(string $environment) Determine if the event runs in the given environment. | |
bool | filtersPass(Application $app) Determine if the filters pass for the event. | |
$this | storeOutput() Ensure that the output is stored on disk in a log file. | |
$this | sendOutputTo(string $location, bool $append = false) Send the output of the command to a given location. | |
$this | appendOutputTo(string $location) Append the output of the command to a given location. | |
$this | emailOutputTo(array|mixed $addresses, bool $onlyIfOutputExists = false) E-mail the results of the scheduled operation. | |
$this | emailWrittenOutputTo(array|mixed $addresses) E-mail the results of the scheduled operation if it produces output. | |
$this | emailOutputOnFailure(array|mixed $addresses) E-mail the results of the scheduled operation if it fails. | |
void | ensureOutputIsBeingCaptured() Ensure that the command output is being captured. | |
void | emailOutput(Mailer $mailer, array $addresses, bool $onlyIfOutputExists = false) E-mail the output of the event to the recipients. | |
string | getEmailSubject() Get the e-mail subject line for output results. | |
$this | pingBefore(string $url) Register a callback to ping a given URL before the job runs. | |
$this | pingBeforeIf(bool $value, string $url) Register a callback to ping a given URL before the job runs if the given condition is true. | |
$this | thenPing(string $url) Register a callback to ping a given URL after the job runs. | |
$this | thenPingIf(bool $value, string $url) Register a callback to ping a given URL after the job runs if the given condition is true. | |
$this | pingOnSuccess(string $url) Register a callback to ping a given URL if the operation succeeds. | |
$this | pingOnFailure(string $url) Register a callback to ping a given URL if the operation fails. | |
Closure | pingCallback(string $url) Get the callback that pings the given URL. | |
$this | runInBackground() State that the command should run in background. | |
$this | user(string $user) Set which user the command should run as. | |
$this | environments(array|mixed $environments) Limit the environments the command should run in. | |
$this | evenInMaintenanceMode() State that the command should run even in maintenance mode. | |
$this | withoutOverlapping(int $expiresAt = 1440) Do not allow the event to overlap each other. | |
$this | onOneServer() Allow the event to only run on one server for each cron expression. | |
$this | when(Closure|bool $callback) Register a callback to further filter the schedule. | |
$this | skip(Closure|bool $callback) Register a callback to further filter the schedule. | |
$this | before(Closure $callback) Register a callback to be called before the operation. | |
$this | after(Closure $callback) Register a callback to be called after the operation. | |
$this | then(Closure $callback) Register a callback to be called after the operation. | |
$this | thenWithOutput(Closure $callback, bool $onlyIfOutputExists = false) Register a callback that uses the output after the job runs. | |
$this | onSuccess(Closure $callback) Register a callback to be called if the operation succeeds. | |
$this | onSuccessWithOutput(Closure $callback, bool $onlyIfOutputExists = false) Register a callback that uses the output if the operation succeeds. | |
$this | onFailure(Closure $callback) Register a callback to be called if the operation fails. | |
$this | onFailureWithOutput(Closure $callback, bool $onlyIfOutputExists = false) Register a callback that uses the output if the operation fails. | |
Closure | withOutputCallback(Closure $callback, bool $onlyIfOutputExists = false) Get a callback that provides output. | |
$this | name(string $description) Set the human-friendly description of the event. | |
$this | description(string $description) Set the human-friendly description of the event. | |
string | getSummaryForDisplay() Get the summary of the event for display. | |
Carbon | nextRunDate(DateTimeInterface|string $currentTime = 'now', int $nth = 0, bool $allowCurrentDate = false) Determine the next due date for an event. | |
string | getExpression() Get the Cron expression for the event. | |
$this | preventOverlapsUsing(EventMutex $mutex) Set the event mutex implementation to be used. |
Details
static void macro(string $name, object|callable $macro)
Register a custom macro.
static void mixin(object $mixin, bool $replace = true)
Mix another object into the class.
static bool hasMacro(string $name)
Checks if macro is registered.
static mixed __callStatic(string $method, array $parameters)
Dynamically handle calls to the class.
mixed __call(string $method, array $parameters)
Dynamically handle calls to the class.
$this cron(string $expression)
The Cron expression representing the event's frequency.
$this between(string $startTime, string $endTime)
Schedule the event to run between start and end time.
$this unlessBetween(string $startTime, string $endTime)
Schedule the event to not run between start and end time.
$this everyMinute()
Schedule the event to run every minute.
$this everyTwoMinutes()
Schedule the event to run every two minutes.
$this everyThreeMinutes()
Schedule the event to run every three minutes.
$this everyFourMinutes()
Schedule the event to run every four minutes.
$this everyFiveMinutes()
Schedule the event to run every five minutes.
$this everyTenMinutes()
Schedule the event to run every ten minutes.
$this everyFifteenMinutes()
Schedule the event to run every fifteen minutes.
$this everyThirtyMinutes()
Schedule the event to run every thirty minutes.
$this hourly()
Schedule the event to run hourly.
$this hourlyAt(array|int $offset)
Schedule the event to run hourly at a given offset in the hour.
$this everyTwoHours()
Schedule the event to run every two hours.
$this everyThreeHours()
Schedule the event to run every three hours.
$this everyFourHours()
Schedule the event to run every four hours.
$this everySixHours()
Schedule the event to run every six hours.
$this daily()
Schedule the event to run daily.
$this at(string $time)
Schedule the command at a given time.
$this dailyAt(string $time)
Schedule the event to run daily at a given time (10:00, 19:30, etc).
$this twiceDaily(int $first = 1, int $second = 13)
Schedule the event to run twice daily.
$this weekdays()
Schedule the event to run only on weekdays.
$this weekends()
Schedule the event to run only on weekends.
$this mondays()
Schedule the event to run only on Mondays.
$this tuesdays()
Schedule the event to run only on Tuesdays.
$this wednesdays()
Schedule the event to run only on Wednesdays.
$this thursdays()
Schedule the event to run only on Thursdays.
$this fridays()
Schedule the event to run only on Fridays.
$this saturdays()
Schedule the event to run only on Saturdays.
$this sundays()
Schedule the event to run only on Sundays.
$this weekly()
Schedule the event to run weekly.
$this weeklyOn(int $dayOfWeek, string $time = '0:0')
Schedule the event to run weekly on a given day and time.
$this monthly()
Schedule the event to run monthly.
$this monthlyOn(int $dayOfMonth = 1, string $time = '0:0')
Schedule the event to run monthly on a given day and time.
$this twiceMonthly(int $first = 1, int $second = 16, string $time = '0:0')
Schedule the event to run twice monthly at a given time.
$this lastDayOfMonth(string $time = '0:0')
Schedule the event to run on the last day of the month.
$this quarterly()
Schedule the event to run quarterly.
$this yearly()
Schedule the event to run yearly.
$this yearlyOn(int $month = 1, int|string $dayOfMonth = 1, string $time = '0:0')
Schedule the event to run yearly on a given month, day, and time.
$this days(array|mixed $days)
Set the days of the week the command should run on.
$this timezone(DateTimeZone|string $timezone)
Set the timezone the date should be evaluated on.
protected $this spliceIntoPosition(int $position, string $value)
Splice the given value into the given position of the expression.
protected array closureParameterTypes(Closure $closure)
Get the class names / types of the parameters of the given Closure.
protected string firstClosureParameterType(Closure $closure)
Get the class name of the first parameter of the given Closure.
void __construct(EventMutex $mutex, string $command, DateTimeZone|string|null $timezone = null)
Create a new event instance.
string getDefaultOutput()
Get the default output depending on the OS.
void run(Container $container)
Run the given event.
string mutexName()
Get the mutex name for the scheduled command.
protected void runCommandInForeground(Container $container)
Run the command in the foreground.
protected void runCommandInBackground(Container $container)
Run the command in the background.
void callBeforeCallbacks(Container $container)
Call all of the "before" callbacks for the event.
void callAfterCallbacks(Container $container)
Call all of the "after" callbacks for the event.
void callAfterCallbacksWithExitCode(Container $container, int $exitCode)
Call all of the "after" callbacks for the event.
string buildCommand()
Build the command string.
bool isDue(Application $app)
Determine if the given event should run based on the Cron expression.
bool runsInMaintenanceMode()
Determine if the event runs in maintenance mode.
protected bool expressionPasses()
Determine if the Cron expression passes.
bool runsInEnvironment(string $environment)
Determine if the event runs in the given environment.
bool filtersPass(Application $app)
Determine if the filters pass for the event.
$this storeOutput()
Ensure that the output is stored on disk in a log file.
$this sendOutputTo(string $location, bool $append = false)
Send the output of the command to a given location.
$this appendOutputTo(string $location)
Append the output of the command to a given location.
$this emailOutputTo(array|mixed $addresses, bool $onlyIfOutputExists = false)
E-mail the results of the scheduled operation.
$this emailWrittenOutputTo(array|mixed $addresses)
E-mail the results of the scheduled operation if it produces output.
$this emailOutputOnFailure(array|mixed $addresses)
E-mail the results of the scheduled operation if it fails.
protected void ensureOutputIsBeingCaptured()
Ensure that the command output is being captured.
protected void emailOutput(Mailer $mailer, array $addresses, bool $onlyIfOutputExists = false)
E-mail the output of the event to the recipients.
protected string getEmailSubject()
Get the e-mail subject line for output results.
$this pingBefore(string $url)
Register a callback to ping a given URL before the job runs.
$this pingBeforeIf(bool $value, string $url)
Register a callback to ping a given URL before the job runs if the given condition is true.
$this thenPing(string $url)
Register a callback to ping a given URL after the job runs.
$this thenPingIf(bool $value, string $url)
Register a callback to ping a given URL after the job runs if the given condition is true.
$this pingOnSuccess(string $url)
Register a callback to ping a given URL if the operation succeeds.
$this pingOnFailure(string $url)
Register a callback to ping a given URL if the operation fails.
protected Closure pingCallback(string $url)
Get the callback that pings the given URL.
$this runInBackground()
State that the command should run in background.
$this user(string $user)
Set which user the command should run as.
$this environments(array|mixed $environments)
Limit the environments the command should run in.
$this evenInMaintenanceMode()
State that the command should run even in maintenance mode.
$this withoutOverlapping(int $expiresAt = 1440)
Do not allow the event to overlap each other.
$this onOneServer()
Allow the event to only run on one server for each cron expression.
$this when(Closure|bool $callback)
Register a callback to further filter the schedule.
$this skip(Closure|bool $callback)
Register a callback to further filter the schedule.
$this before(Closure $callback)
Register a callback to be called before the operation.
$this after(Closure $callback)
Register a callback to be called after the operation.
$this then(Closure $callback)
Register a callback to be called after the operation.
$this thenWithOutput(Closure $callback, bool $onlyIfOutputExists = false)
Register a callback that uses the output after the job runs.
$this onSuccess(Closure $callback)
Register a callback to be called if the operation succeeds.
$this onSuccessWithOutput(Closure $callback, bool $onlyIfOutputExists = false)
Register a callback that uses the output if the operation succeeds.
$this onFailure(Closure $callback)
Register a callback to be called if the operation fails.
$this onFailureWithOutput(Closure $callback, bool $onlyIfOutputExists = false)
Register a callback that uses the output if the operation fails.
protected Closure withOutputCallback(Closure $callback, bool $onlyIfOutputExists = false)
Get a callback that provides output.
$this name(string $description)
Set the human-friendly description of the event.
$this description(string $description)
Set the human-friendly description of the event.
string getSummaryForDisplay()
Get the summary of the event for display.
Carbon nextRunDate(DateTimeInterface|string $currentTime = 'now', int $nth = 0, bool $allowCurrentDate = false)
Determine the next due date for an event.
string getExpression()
Get the Cron expression for the event.
$this preventOverlapsUsing(EventMutex $mutex)
Set the event mutex implementation to be used.
© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/8.x/Illuminate/Console/Scheduling/Event.html