CallbackEvent
class CallbackEvent extends Event (View source)
Traits
Properties
| static protected array | $macros | The registered string macros.  | 
                from Macroable | 
| string|null | $command | The command string.  | 
                from Event | 
| string | $expression | The cron expression representing the event's frequency.  | 
                from Event | 
| DateTimeZone|string | $timezone | The timezone the date should be evaluated on.  | 
                from Event | 
| string|null | $user | The user the command should run as.  | 
                from Event | 
| array | $environments | The list of environments the command should run under.  | 
                from Event | 
| bool | $evenInMaintenanceMode | Indicates if the command should run in maintenance mode.  | 
                from Event | 
| bool | $withoutOverlapping | Indicates if the command should not overlap itself.  | 
                from Event | 
| bool | $onOneServer | Indicates if the command should only be allowed to run on one server for each cron expression.  | 
                from Event | 
| int | $expiresAt | The number of minutes the mutex should be valid.  | 
                from Event | 
| bool | $runInBackground | Indicates if the command should run in the background.  | 
                from Event | 
| protected array | $filters | The array of filter callbacks.  | 
                from Event | 
| protected array | $rejects | The array of reject callbacks.  | 
                from Event | 
| string | $output | The location that output should be sent to.  | 
                from Event | 
| bool | $shouldAppendOutput | Indicates whether output should be appended.  | 
                from Event | 
| protected array | $beforeCallbacks | The array of callbacks to be run before the event is started.  | 
                from Event | 
| protected array | $afterCallbacks | The array of callbacks to be run after the event is finished.  | 
                from Event | 
| string|null | $description | The human readable description of the event.  | 
                from Event | 
| EventMutex | $mutex | The event mutex implementation.  | 
                from Event | 
| Closure|null | $mutexNameResolver | The mutex name resolver callback.  | 
                from Event | 
| int|null | $exitCode | The exit status code of the command.  | 
                from Event | 
| protected string | $callback | The callback to call.  | 
                |
| protected array | $parameters | The parameters to pass to the method.  | 
                |
| protected mixed | $result | The result of the callback's execution.  | 
                |
| protected Throwable|null | $exception | The exception that was thrown when calling the callback, if any.  | 
                
Methods
Mix another object into the class.
Dynamically handle calls to the class.
Dynamically handle calls to the class.
The Cron expression representing the event's frequency.
Schedule the event to run between start and end time.
Schedule the event to not run between start and end time.
Schedule the event to run every fifteen minutes.
Schedule the event to run hourly at a given offset in the hour.
Schedule the event to run daily at a given time (10:00, 19:30, etc).
Schedule the event to run twice daily.
Schedule the event to run twice daily at a given offset.
Schedule the event to run weekly on a given day and time.
Schedule the event to run monthly on a given day and time.
Schedule the event to run twice monthly at a given time.
Schedule the event to run on the last day of the month.
Schedule the event to run quarterly on a given day and time.
Schedule the event to run yearly on a given month, day, and time.
Set the days of the week the command should run on.
Splice the given value into the given position of the expression.
Get the class name of the first parameter of the given Closure.
Get the class names of the first parameter of the given Closure, including union types.
Get the class names / types of the parameters of the given Closure.
Create a new event instance.
Determine if the event should skip because another process is overlapping.
Mark the command process as finished and run callbacks/cleanup.
Determine if the event runs in the given environment.
Send the output of the command to a given location.
Append the output of the command to a given location.
E-mail the results of the scheduled operation.
E-mail the results of the scheduled operation if it produces output.
E-mail the results of the scheduled operation if it fails.
E-mail the output of the event to the recipients.
Register a callback to ping a given URL before the job runs.
Register a callback to ping a given URL before the job runs if the given condition is true.
Register a callback to ping a given URL after the job runs if the given condition is true.
Register a callback to ping a given URL if the operation succeeds.
Register a callback to ping a given URL if the operation fails.
Indicate that the callback should run in the background.
Limit the environments the command should run in.
State that the command should run even in maintenance mode.
Do not allow the event to overlap each other.
Allow the event to only run on one server for each cron expression.
Register a callback that uses the output after the job runs.
Register a callback that uses the output if the operation succeeds.
Register a callback that uses the output if the operation fails.
Get a callback that provides output.
Get the summary of the event for display.
Determine the next due date for an event.
Get the mutex name for the scheduled command.
Set the mutex name or name resolver callback.
Clear the mutex for the event.
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            void
    flushMacros()
        
    
    Flush the existing macros.
        
                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
    everyOddHour()
        
    
    Schedule the event to run every odd 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
    twiceDailyAt(int $first = 1, int $second = 13, int $offset = 0)
        
    
    Schedule the event to run twice daily at a given offset.
        
                            $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(array|mixed $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
    quarterlyOn(int $dayOfQuarter = 1, int $time = '0:0')
        
    
    Schedule the event to run quarterly on a given day and time.
        
                            $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        string
    firstClosureParameterType(Closure $closure)
        
    
    Get the class name of the first parameter of the given Closure.
        
                    protected        array
    firstClosureParameterTypes(Closure $closure)
        
    
    Get the class names of the first parameter of the given Closure, including union types.
        
                    protected        array
    closureParameterTypes(Closure $closure)
        
    
    Get the class names / types of the parameters of the given Closure.
        
                            void
    __construct(EventMutex $mutex, string|callable $callback, array $parameters = [], DateTimeZone|string|null $timezone = null)
        
    
    Create a new event instance.
        in 
Event at line 188
                            string
    getDefaultOutput()
        
    
    Get the default output depending on the OS.
        
                            void
    run(Container $container)
        
    
    Run the callback event.
        
                            bool
    shouldSkipDueToOverlapping()
        
    
    Determine if the event should skip because another process is overlapping.
        in 
Event at line 232
                    protected        int
    start(Container $container)
        
    
    Run the command process.
        
                    protected        int
    execute(Container $container)
        
    
    Run the callback.
        in 
Event at line 269
                            void
    finish(Container $container, int $exitCode)
        
    
    Mark the command process as finished and run callbacks/cleanup.
        in 
Event at line 286
                            void
    callBeforeCallbacks(Container $container)
        
    
    Call all of the "before" callbacks for the event.
        in 
Event at line 299
                            void
    callAfterCallbacks(Container $container)
        
    
    Call all of the "after" callbacks for the event.
        in 
Event at line 311
                            string
    buildCommand()
        
    
    Build the command string.
        in 
Event at line 322
                            bool
    isDue(Application $app)
        
    
    Determine if the given event should run based on the Cron expression.
        in 
Event at line 337
                            bool
    runsInMaintenanceMode()
        
    
    Determine if the event runs in maintenance mode.
        in 
Event at line 347
                    protected        bool
    expressionPasses()
        
    
    Determine if the Cron expression passes.
        in 
Event at line 364
                            bool
    runsInEnvironment(string $environment)
        
    
    Determine if the event runs in the given environment.
        in 
Event at line 375
                            bool
    filtersPass(Application $app)
        
    
    Determine if the filters pass for the event.
        in 
Event at line 397
                            $this
    storeOutput()
        
    
    Ensure that the output is stored on disk in a log file.
        in 
Event at line 411
                            $this
    sendOutputTo(string $location, bool $append = false)
        
    
    Send the output of the command to a given location.
        in 
Event at line 426
                            $this
    appendOutputTo(string $location)
        
    
    Append the output of the command to a given location.
        in 
Event at line 440
                            $this
    emailOutputTo(array|mixed $addresses, bool $onlyIfOutputExists = false)
        
    
    E-mail the results of the scheduled operation.
        in 
Event at line 459
                            $this
    emailWrittenOutputTo(array|mixed $addresses)
        
    
    E-mail the results of the scheduled operation if it produces output.
        in 
Event at line 470
                            $this
    emailOutputOnFailure(array|mixed $addresses)
        
    
    E-mail the results of the scheduled operation if it fails.
        in 
Event at line 486
                    protected        void
    ensureOutputIsBeingCaptured()
        
    
    Ensure that the command output is being captured.
        in 
Event at line 501
                    protected        void
    emailOutput(Mailer $mailer, array $addresses, bool $onlyIfOutputExists = false)
        
    
    E-mail the output of the event to the recipients.
        in 
Event at line 519
                    protected        string
    getEmailSubject()
        
    
    Get the e-mail subject line for output results.
        in 
Event at line 534
                            $this
    pingBefore(string $url)
        
    
    Register a callback to ping a given URL before the job runs.
        in 
Event at line 546
                            $this
    pingBeforeIf(bool $value, string $url)
        
    
    Register a callback to ping a given URL before the job runs if the given condition is true.
        in 
Event at line 557
                            $this
    thenPing(string $url)
        
    
    Register a callback to ping a given URL after the job runs.
        in 
Event at line 569
                            $this
    thenPingIf(bool $value, string $url)
        
    
    Register a callback to ping a given URL after the job runs if the given condition is true.
        in 
Event at line 580
                            $this
    pingOnSuccess(string $url)
        
    
    Register a callback to ping a given URL if the operation succeeds.
        in 
Event at line 591
                            $this
    pingOnFailure(string $url)
        
    
    Register a callback to ping a given URL if the operation fails.
        in 
Event at line 602
                    protected        Closure
    pingCallback(string $url)
        
    
    Get the callback that pings the given URL.
        
                            $this
    runInBackground()
        
    
    Indicate that the callback should run in the background.
        in 
Event at line 631
                            $this
    user(string $user)
        
    
    Set which user the command should run as.
        in 
Event at line 644
                            $this
    environments(array|mixed $environments)
        
    
    Limit the environments the command should run in.
        in 
Event at line 656
                            $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.
The expiration time of the underlying cache lock may be specified in minutes.
        
                            $this
    onOneServer()
        
    
    Allow the event to only run on one server for each cron expression.
        in 
Event at line 700
                            $this
    when(Closure|bool $callback)
        
    
    Register a callback to further filter the schedule.
        in 
Event at line 715
                            $this
    skip(Closure|bool $callback)
        
    
    Register a callback to further filter the schedule.
        in 
Event at line 730
                            $this
    before(Closure $callback)
        
    
    Register a callback to be called before the operation.
        in 
Event at line 743
                            $this
    after(Closure $callback)
        
    
    Register a callback to be called after the operation.
        in 
Event at line 754
                            $this
    then(Closure $callback)
        
    
    Register a callback to be called after the operation.
        in 
Event at line 774
                            $this
    thenWithOutput(Closure $callback, bool $onlyIfOutputExists = false)
        
    
    Register a callback that uses the output after the job runs.
        in 
Event at line 787
                            $this
    onSuccess(Closure $callback)
        
    
    Register a callback to be called if the operation succeeds.
        in 
Event at line 809
                            $this
    onSuccessWithOutput(Closure $callback, bool $onlyIfOutputExists = false)
        
    
    Register a callback that uses the output if the operation succeeds.
        in 
Event at line 822
                            $this
    onFailure(Closure $callback)
        
    
    Register a callback to be called if the operation fails.
        in 
Event at line 844
                            $this
    onFailureWithOutput(Closure $callback, bool $onlyIfOutputExists = false)
        
    
    Register a callback that uses the output if the operation fails.
        in 
Event at line 858
                    protected        Closure
    withOutputCallback(Closure $callback, bool $onlyIfOutputExists = false)
        
    
    Get a callback that provides output.
        in 
Event at line 875
                            $this
    name(string $description)
        
    
    Set the human-friendly description of the event.
        in 
Event at line 886
                            $this
    description(string $description)
        
    
    Set the human-friendly description of the event.
        
                            string
    getSummaryForDisplay()
        
    
    Get the summary of the event for display.
        in 
Event at line 915
                            Carbon
    nextRunDate(DateTimeInterface|string $currentTime = 'now', int $nth = 0, bool $allowCurrentDate = false)
        
    
    Determine the next due date for an event.
        in 
Event at line 926
                            string
    getExpression()
        
    
    Get the Cron expression for the event.
        in 
Event at line 937
                            $this
    preventOverlapsUsing(EventMutex $mutex)
        
    
    Set the event mutex implementation to be used.
        
                            string
    mutexName()
        
    
    Get the mutex name for the scheduled command.
        in 
Event at line 966
                            $this
    createMutexNameUsing(Closure|string $mutexName)
        
    
    Set the mutex name or name resolver callback.
        
                    protected        void
    removeMutex()
        
    
    Clear the mutex for the event.