PHP code example of mvdstam / graceful-laravel-workers
1. Go to this page and download the library: Download mvdstam/graceful-laravel-workers library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
mvdstam / graceful-laravel-workers example snippets
use function Mvdstam\GracefulLaravelWorkers\shutting_down;
class MyJob implements \Illuminate\Contracts\Queue\ShouldQueue {
use \Illuminate\Queue\InteractsWithQueue, \Illuminate\Bus\Queueable;
public function handle()
{
while(true) {
if (shutting_down()) {
return $this->shutDown();
}
$this->handleIteration();
}
}
protected function shutDown()
{
// Do some kind of cleaning up, write to log, etc..
echo 'Saving state and shutting down!';
/*
* Sometimes, this job may be continued later on if necessary. Simply dispatch a new instance
* unto the queue to be picked up later.
*/
dispatch(new static);
}
protected function handleIteration()
{
// Do something expensive, such as working on large data sets
}
}