Event:...mpleMax(3pm)

πŸ’– Event::ExecFlow::Scheduler::SimpleMax πŸ’–

okay bestie, so this is a page from the User Contributed Perl Documentation for Event::ExecFlow::Scheduler::SimpleMax β€” a Perl module, section 3pm, and the manual page name is literally Event:...mpleMax(3pm) (yes it's truncated, the real one is Event::ExecFlow::Scheduler::SimpleMax). it's a whole mood. let's get into it ✨


🌸 NAME 🌸

Event::ExecFlow::Scheduler::SimpleMax β€” the thing that caps how many jobs run at the same time. that's it, that's the whole job description πŸ’…


✨ SYNOPSIS ✨

#-- Create a new Scheduler object
my $scheduler = Event::ExecFlow::Scheduler::SimpleMax->new( max => 5 );

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

like. first you make the scheduler (max => 5, we'll talk), then you tell a group job to be parallel and hand it the scheduler. iconic two-step. 🫢


πŸ¦‹ DESCRIPTION πŸ¦‹

so here's the tea: this is a simple scheduler that just limits the maximum number of parallel executed jobs. no cap, that's its entire personality.

but lowkey β€” and the docs are SO real for admitting this β€” it's mainly an example implementation of the Event::ExecFlow::Scheduler interface. it's not really of big practical use ;) (their wink, not mine, but I'm keeping it because it ate).

so if you're here to learn what a scheduler looks like: perfect. if you're here for a battle-tested production workhorse: girl, look elsewhere πŸ™ˆ


🌈 OBJECT HIERARCHY 🌈

the family tree, and yes we respect our elders:

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

see that last line? that's us. we are a child of Event::ExecFlow::Scheduler. main character energy but make it inheritance. πŸ‘‘


πŸ’… METHODS πŸ’…

[ FIXME: describe all methods in detail ]

not me copying the dev's own placeholder β€” it's in the original, bestie, I'm not making this up 😭 the methods section is literally just a TODO note. the documentation is giving unfinished group project. fr fr.


πŸŽ€ AUTHORS πŸŽ€

JΓΆrn Reder <joern at zyn dot de> β€” shoutout to JΓΆrn, the architect of this whole vibe 🫢


Copyright 2005-2006 by JΓΆrn Reder.

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details.

You should have received a copy of the GNU Library General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA.

⚠️ real talk: that "WITHOUT ANY WARRANTY" bit is in ALL CAPS in the original for a reason. it means exactly what it says. no promises, no guarantees, read the license. πŸ’€

🧚 POD ERRORS 🧚

Hey! The above document had some coding errors, which are explained below:

Around line 93:

    Non-ASCII character seen before =encoding in 'JΓΆrn'. Assuming CP1252

not the POD parser catching strays over a â in Jârn's name 😭 it just assumed CP1252 and moved on. we've all been there.


and that's the whole page, bestie!! this was Event::ExecFlow::Scheduler::SimpleMax, from perl v5.38.2, dated 2024-02-17. mwah. go forth and limit your parallel jobs responsibly πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from