Check Status Of An Scheduler Task Before Adding And Running Another Task
I have a question about the task scheduling in laravel framework. I already have defined the commands currency:update
and currency:archive
in the list of console commands. Now, I want to run these two commands in the schedule method but with the following condition:
if this is a time to run the currency:archive
command, don't run the other command currency:update
until the previous command (i.e. currency:archive
) ends; otherwise run the currency:update
command.
This is my current code in schedule method:
$schedule->command('currency:archive')
->dailyAt('00:00')
->withoutOverlapping();
$schedule->command('currency:update')
->everyMinute()
->withoutOverlapping();
How should I modify it?
Thanks.
Answer
In the laravel schedule docs the following two features are mentioned:
- Truth test contraints docs
$schedule->command('emails:send')->daily()->skip(function () {
return true;
});
- Task hooks docs
$schedule->command('emails:send')
->daily()
->before(function () {
// Task is about to start...
})
->after(function () {
// Task is complete...
});
You could consider setting a variable like $achriveCommandIsRunning
to true in the before()
closure. In the skip()
closure you can return $archiveCommandIsRunning;
and in the after()
closure you can set the variable back to false again.
Related Questions
- → "failed to open stream" error when executing "migrate:make"
- → October CMS Plugin Routes.php not registering
- → OctoberCMS Migrate Table
- → OctoberCMS Rain User plugin not working or redirecting
- → October CMS Custom Mail Layout
- → October CMS - How to correctly route
- → October CMS - Conditionally Load a Different Page
- → Make a Laravel collection into angular array (octobercms)
- → In OctoberCMS how do you find the hint path?
- → How to register middlewares in OctoberCMS plugin?
- → Validating fileupload(image Dimensions) in Backend Octobercms
- → OctoberCMS Fileupload completely destroys my backend
- → How do I call the value from another backed page form and use it on a component in OctoberCms