leocarmo/graceful-shutdown-php

Graceful Shutdown for PHP

1.0.0 2021-05-01 14:34 UTC

This package is auto-updated.

Last update: 2024-04-29 04:28:18 UTC


README

Build Status Scrutinizer Code Quality Code Intelligence Status Total Downloads

Generally, a graceful shutdown is preferable in the case of any OS that saves its state. When the standard shutdown procedures are not done with these OSs, the result can be data corruption of program and operating system files. The result of the corruption can be instability, incorrect functioning or failure to boot.

For more information see this.

Composer

composer require leocarmo/graceful-shutdown-php

How to use

This is very simple, you just have to call the check method inside a while loop and the magic will happen.

use LeoCarmo\GracefulShutdown\GracefulShutdown;

$shutdown = new GracefulShutdown();

while (! $shutdown->signalReceived()) {

    echo 'Start long task...' . PHP_EOL;
    sleep(sleep(5)); // --> when a signal is sent, sleep returns the number of seconds left
    echo 'End long task...' . PHP_EOL;

}

echo 'Graceful shutdown!';

Output result with debug enabled:

Start long task...
End long task...
Start long task...
^C##################### ---> Signal received: [2]
End long task...
Graceful shutdown!

Run make run-exemple to see this in action

Roadmap

  • Tests

Credits