Re: [mh] Is this the expected behaviour of process_item?
Jeff Siddall via misterhouse-users <[email protected]> Thu, 18 Feb 2021 12:25:46 -0500
| Newsgroups | gmane.comp.misc.misterhouse.user |
|---|---|
| Message-ID | <[email protected]> |
Giles, When you say "I'll build a queue" do you mean for your project or adding it onto process_items? As long as it was backwards compatible with the existing behavior of a process_item, it would be nice to add that onto the process_item so there is a standard way for anyone to push items onto a process_item queue instead of everyone implementing it their own way. Jeff On 2021-02-18 11:47 a.m., Giles Godart-Brown wrote: > > Thanks H > > I'll build a queue and update the docs over the weekend > > Giles > > On 18/02/2021 14:24, H Plato wrote: >> As far as I know that’s how it works, the process_item has a single >> thread. You can check if the process_item is still active by >> calling$p_longproc->done(), and then queuing the additional commands >> to an array. That’s how I’ve dealt with this in some of my modules >> >>> On Feb 18, 2021, at 1:22 AM, Giles Godart-Brown >>> <[email protected] <mailto:[email protected]>> wrote: >>> >>> I use process_items to send messages and urls, occasionally (usually >>> when I write bad code) I need to send a lot of emails in quick >>> succession but MisterHouse kills any unfinished ones, rather than >>> running them in parallel which is what I expected. To test this I >>> built a minimum reproducible case below where it launches a process >>> that simply sleeps for 5 seconds twice in succession. As you can see >>> from the print log, he first one gets killed. >>> >>> Is this normal? >>> >>> Giles >>> >>> <mytest.pl> >>> >>> print_log( "Longproc run 1", "INFORMATIONAL", "p_longproc" ); >>> start $p_longproc; >>> print_log( "Longproc run 2", "INFORMATIONAL", "p_longproc" ); >>> start $p_longproc; >>> </mytest.pl> >>> >>> <longproc.sh> >>> >>> #!/bin/sh >>> # shell to sleep >>> echo longproc start 5 second sleep pid= $$ >>> sleep 5 >>> echo "longproc end" >>> exit 0 >>> </longproc.sh> >>> >>> <print.log> >>> >>> 18/02/2021 08:10:27 [p_longproc] INFO Longproc run 1 >>> 18/02/2021 08:10:27 [p_longproc] INFO Longproc run 2 >>> Warning, a previous 'start' on this process has not finished yet >>> Killing unfinished process id 9380 >>> cmd=//home/pi/mh/GGBcode/procs/longproc.sh >>> >>> ... >>> >>> 18/02/2021 08:10:33 [p_longproc] longproc start 5 second sleep pid= 9381 >>> 18/02/2021 08:10:33 [p_longproc] longproc end >>> >>> </print.log> >>> >>> ________________________________________________________ >>> To unsubscribe from this list, go to: >>> https://lists.sourceforge.net/lists/listinfo/misterhouse-users >>> >> > > <http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient> > Virus-free. www.avg.com > <http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient> > > > <#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2> > > > ________________________________________________________ > To unsubscribe from this list, go to: https://lists.sourceforge.net/lists/listinfo/misterhouse-users > ________________________________________________________ To unsubscribe from this list, go to: https://lists.sourceforge.net/lists/listinfo/misterhouse-users