Sorry for the late reply.  I was enjoying some non computer time between
the holidays.

Good to see that your project is making progress.  It seems to me that you
have chosen a reasonable implementation scheme.   I'll be interested to
hear how it works out.

chris

On Thu, Dec 22, 2016 at 9:44 AM, Gary Stainburn <
gary.stainb...@ringways.co.uk> wrote:

> Just a quick update on my project.
>
> I am still reading up on AnyEvent, IO::Async, POE etc., and apart from
> making
> my brain hurt, I've come to the conclusion that these options are far more
> complicated than I want / need.
>
> I'm now leaning towards Chris' advice.
>
> The solution that I'm probably going to use is to have a simple File::Tail
> reader monitor the log file from the Domoticz. This solution seems to be
> the
> most reliable File::Tail solution as it seems to handle log rotations etc.
> better than the rest.
>
> I haven't managed to get a *reliable* File::Read working any other way,
> and as
> this is going to be a 24/7 service I need it to be reliable.
>
> All of the actual tasks are now going to be handled by seperate perl
> scripts,
> which  means I can simply tidy up and utilise existing proof-of-concept
> scripts that I've already started  collecting together (e.g. LED blinker)
>
> Just as an aside, when did this list get so quiet?  I can't believe how few
> posts there have been since my OP
>
> On Wednesday 23 November 2016 23:55:36 Chris Fedde wrote:
> > It might not be too bad an idea to just use processes rather than getting
> > wrapped up in event loops and asynch IO.
> > Forking is cheap and fast in linux.  In my opinion it gets overlooked for
> > many cases where it is a perfectly acceptable approach.
> >
> > There are lots of approaches to work queues.  The main architectural
> > approach is how close the coupling needs to be between the requester and
> > the worker.
> > One of my favorite, simple approaches is to put files into a directory.
> > Each file represents a tasks and perhaps contains interesting metadata.
> >
> > chris
> >
> > On Wed, Nov 23, 2016 at 7:36 AM, Gary Stainburn <
> >
> > gary.stainb...@ringways.co.uk> wrote:
> > > On Wednesday 23 November 2016 14:05:40 Shlomi Fish wrote:
> > > > Aside from named pipes there are also unix-domain sockets and TCP
> > >
> > > sockets,
> > >
> > > > both of which are more robust.
> > >
> > > The closest thing I've got to IPC is writing an xinetd service, which I
> > > then
> > > called from perl scripts using Net::Telnet.  IPC is therefore one of
> the
> > > things I'm going to have to learn.  The Domoticz service that I'm
> > > supporting
> > > is itself an event driven service which runs pretty much all of my
> house.
> > > The key requirement of whatever method I use is that I cannot under any
> > > circumstance block Domoticz.  That is one reason I'm wary of using a
> > > pipe.. If my server dies, then writing to the pipe will block. The
> > > benefit of a pipe
> > > is that it's very simple to code in however many ways I need, Perl, LUA
> > > etc.
> > > (LUA is embedded in Domoticz)
> > >
> > > I have considered using a standard text file rather than a pipe,
> allowing
> > > anything to append to the pipe, then my daemon reading when it's ready.
> > > One
> > > things I have found to help with this is:
> > >
> > > https://gist.github.com/sugar84/1198879
> > >
> > > which is an example of tail -f to a pipe.  As Domoticz already writes
> to
> > > a log
> > > file, I should be able to readm input from there too and respond to
> both
> > > (hopefully)
> > >
> > > > Last time I checked, AnyEvent erred if IO-Async which is a different
> > > > alternative was also used, causing some people to avoid using
> AnyEvent.
> > > > I ended up sticking with AnyEvent for
> > > > https://metacpan.org/release/App-ManiacDownloader because IO-Async's
> > > > support for FTP was lacking.
> > >
> > > Are you saying that the problem only arrises if I use both AnyEvent and
> > > IO-Async?  I haven't had a look at the latter, but I doubt (hope) that
> my
> > > daemon won't get too complicated.
> > >
> > > > Also see the page I wrote here - http://perl-begin.org/uses/
> > >
> > > multitasking/ .
> > >
> > > > There's also https://metacpan.org/release/Reflex which I think is a
> > > > Moose-based rethinking of POE .
> > >
> > > Thanks for the extra links. I'll have a good look at them all before
> > > starting.
> > >
> > > Gary
> > >
> > > --
> > > To unsubscribe, e-mail: beginners-unsubscr...@perl.org
> > > For additional commands, e-mail: beginners-h...@perl.org
> > > http://learn.perl.org/
>
>
>
> --
> Gary Stainburn
> Group I.T. Manager
> Ringways Garages
> http://www.ringways.co.uk
>
> --
> To unsubscribe, e-mail: beginners-unsubscr...@perl.org
> For additional commands, e-mail: beginners-h...@perl.org
> http://learn.perl.org/
>
>
>

Reply via email to