Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
POE::Component::ScheduUser)Contributed Perl DocumenPOE::Component::Schedule(3)

NAME
       POE::Component::Schedule	- Schedule POE events using DateTime::Set
       iterators

SYNOPSIS
	   use POE qw(Component::Schedule);
	   use DateTime::Set;

	   POE::Session->create(
	       inline_states =>	{
		   _start => sub {
		       $_[HEAP]{sched} = POE::Component::Schedule->add(
			   $_[SESSION],	Tick =>	DateTime::Set->from_recurrence(
			       after	  => DateTime->now,
			       before	  => DateTime->now->add(seconds	=> 3),
			       recurrence => sub {
				   return $_[0]->truncate( to => 'second' )->add( seconds => 1 )
			       },
			   ),
		       );
		   },
		   Tick	=> sub {
		       print 'tick ', scalar localtime,	"\n";
		   },
		   remove_sched	=> sub {
		       # Three ways to remove a	schedule
		       # The first one is only for API compatibility with POE::Component::Cron
		       $_[HEAP]{sched}->delete;
		       $_[HEAP]{sched} = undef;
		       delete $_[HEAP]{sched};
		   },
		   _stop => sub	{
		       print "_stop\n";
		   },
	       },
	   );

	   POE::Kernel->run();

DESCRIPTION
       This component encapsulates a session that sends	events to client
       sessions	on a schedule as defined by a DateTime::Set iterator.

POE::Component::Schedule METHODS
   spawn(Alias => name)
       Start up	the PoCo::Schedule background session with the given alias.
       Returns the back-end session handle.

       No need to call this in normal use, "add()" and "new()" all crank one
       of these	up if it is needed.

   add($session, $event_name, $iterator, @event_args)
	   my $sched = POE::Component::Schedule->add(
	       $session,
	       $event_name,
	       $DateTime_Set_iterator,
	       @event_args
	   );

       Add a set of events to the scheduler.

       Returns a schedule handle. The event is automatically deleted when the
       handle is not referenced	anymore.

   new($session, $event_name, $iterator, @event_args)
       "new()" is an alias for "add()".

SCHEDULE HANDLE	METHODS
   delete()
       Removes a schedule using	the handle returned from "add()" or "new()".

       DEPRECATED: Schedules are now automatically deleted when	they are not
       referenced anymore. So just setting the container variable to "undef"
       will delete the schedule.

SEE ALSO
       POE, DateTime::Set, POE::Component::Cron.

SUPPORT
       You can look for	information at:

       o   RT: CPAN's request tracker

	   <http://rt.cpan.org/NoAuth/Bugs.html?Dist=POE-Component-Schedule>:
	   post	bug report there.

       o   CPAN	Ratings

	   <http://cpanratings.perl.org/p/POE-Component-Schedule>: if you use
	   this	distibution, please add	comments on your experience for	other
	   users.

       o   Search CPAN

	   <http://search.cpan.org/dist/POE-Component-Schedule/>

       o   AnnoCPAN: Annotated CPAN documentation

	   <http://annocpan.org/dist/POE-Component-Schedule>

ACKNOWLEDGMENT & HISTORY
       This module was a friendly fork of POE::Component::Cron to extract the
       generic parts and isolate the Cron specific code	in order to reduce
       dependencies on other CPAN modules.

       See <https://rt.cpan.org/Ticket/Display.html?id=44442>.

       The orignal author of POE::Component::Cron is Chris Fedde.

       POE::Component::Cron is now implemented as a class that inherits	from
       POE::Component::Schedule.

       Most of the POE::Component::Schedule internals have since been
       rewritten in 0.91_01 and	we have	now a complete test suite.

AUTHORS
       Olivier Mengue, "dolmen@cpan.org"
       Chris Fedde, "cfedde@cpan.org"

COPYRIGHT AND LICENSE
       Copyright X 2009-2010 Olivier Mengue.
       Copyright X 2007-2008 Chris Fedde.

       This library is free software; you can redistribute it and/or modify it
       under the same terms as Perl itself, either Perl	version	5.8.3 or, at
       your option, any	later version of Perl 5	you may	have available.

perl v5.32.1			  2021-08-26	   POE::Component::Schedule(3)

NAME | SYNOPSIS | DESCRIPTION | POE::Component::Schedule METHODS | SCHEDULE HANDLE METHODS | SEE ALSO | SUPPORT | ACKNOWLEDGMENT & HISTORY | AUTHORS | COPYRIGHT AND LICENSE

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=POE::Component::Schedule&sektion=3&manpath=FreeBSD+13.0-RELEASE+and+Ports>

home | help