There are multiple jobs, they are supposed to run periodically (or in response to some events), every jobs consists of multiple tasks, so, when I abort the tasks, job gets cancelled, thus I can move on to another job (or even re-start the current one).
I don't know how I could move to another job without aborting the current one, that would require something coroutinish Coro.
| [reply] |
Coro, fork, threads. Basically, any form of multitasking that allows your main process/thread (scheduler?) to initiate several concurrent jobs.
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
Lingua non convalesco, consenesco et abolesco.
Rule 1 has a caveat! -- Who broke the cabal?
| [reply] [d/l] |
Yeah, all of them bring serious problems to the table, Coro supposedly segfaults in multitude of situations. fork would be nice, but exchanging data between children, moving sockets between then (I have no idea if it's possible to pass SSL socket in any way...) etc is not a trivial task.
And managing a pool of processes is a tedious task, I already asked perlmonks about that,but there were no interesting answers (besides the usual POE fanboy fanfare).
Threads would be in randomly failing department, additionally there are way to many flavors, each with it's own set of problems, advantages and disadvantages.
Anyhoo, I don't need concurrency, if anything, I might use some form of cooperative multitasking, but it may be that there's no such solution outthere
| [reply] |