nestor

Do task, rollback if something goes wrong. Just like database transactions.

MIT License

Downloads
10.1K
Stars
4

Nestor Task Servant

Installation

composer require rap2hpoutre/nestor

Usage

Run some tasks. In this example, the second task fails, everything will be rolled back.

$nestor = new Nestor\Servant;

// Create 1st task
$nestor->task()
    ->up(function (){
        echo "task 1 done\n";
    })
    ->down(function () {
        echo "task 1 cancelled\n";
    });
    
// Create 2nd task (will fail)
$nestor->task()
    ->up(function ($nestor) {
        $nestor->fail();
        echo "task 2 done\n";
    })
    ->down(function () {
        echo "task 2 cancelled\n";
    });
    
// Run all tasks, rollback on fail (LIFO stack)
$nestor->run();

You should see:

task 1 done
task 2 cancelled
task 1 cancelled

Why?

Todo: Explain why.

About

Thanks to DonoSybrix. Feel free to contribute.

Package Rankings
Top 20.73% on Packagist.org
Badges
Extracted from project README
Latest Version Software License Build Status Coverage Status Quality Score Software License