logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Event::ExecFlow::Scheduler - Abstract class for parallel scheduling

Authors

        Jörn Reder <joern at zyn dot de>

Description

       This abstract base class represents just an interface which needs to be implemented by custom schedulers
       for controlling the execution of jobs in a Event::ExecFlow::Group which has the parallel option set.

       Event::ExecFlow ships a very simple example for a scheduler which just limits the maximum number of
       parallel executed jobs: Event::ExecFlow::Scheduler::SimpleMax.

Methods

       [ FIXME: describe all methods in detail ]

Name

       Event::ExecFlow::Scheduler - Abstract class for parallel scheduling

Object Hierarchy

         Event::ExecFlow

         Event::ExecFlow::Job
         +--- Event::ExecFlow::Job::Group
         +--- Event::ExecFlow::Job::Command
         +--- Event::ExecFlow::Job::Code

         Event::ExecFlow::Frontend
         Event::ExecFlow::Callbacks
         Event::ExecFlow::Scheduler
         +--- Event::ExecFlow::Scheduler::SimpleMax

Pod Errors

       Hey! Theabovedocumenthadsomecodingerrors,whichareexplainedbelow:

       Around line 63:
           Non-ASCII character seen before =encoding in 'Jörn'. Assuming CP1252

perl v5.38.2                                       2024-02-17                    Event::ExecFlow::Scheduler(3pm)

Synopsis

         #-- Create a new Scheduler object
         my $scheduler = Event::ExecFlow::Scheduler::XYZ->new ( ... );

         #-- Attach scheduler to a group job with parallel execution
         $group_job->set_parallel(1);
         $group_job->set_scheduler($scheduler);

         #-- The following methods gets called by Event::ExecFlow
         #-- at runtime
         $scheduler->schedule_job($job);
         $scheduler->job_finished($job);

See Also