Skip to content

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

License

Notifications You must be signed in to change notification settings

rap2hpoutre/nestor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nestor Task Servant

Latest Version Software License Build Status Coverage Status Quality Score

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

Software License

Thanks to DonoSybrix. Feel free to contribute.

About

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

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages