Skip to content

This package is very useful to avoid processing data corruption executing a graceful shutdown.

Notifications You must be signed in to change notification settings

leocarmo/graceful-shutdown-php

Repository files navigation

Graceful Shutdown with PHP

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

About

This package is very useful to avoid processing data corruption executing a graceful shutdown.

Resources

Stars

Watchers

Forks

Packages

No packages published