Re: alarm function under while loop

2012-11-02 Thread Gokul Prasad
Hi,

To give more context on the issue, the following lines are not
working(alarm function is being called ) but later runs fine

NOT WORKING! (recursive call thro alarm)

delete_sub(){
  .
  .
  .
  .

 if($heap-{RESULT}-{delete_sub_status} ne 'deleted'){
$heap-{next_delete_alarm_time} = int(time())+30;
#$_[KERNEL]-alarm(get_del_status =
$heap-{next_delete_alarm_time}) if($end_time = time);

$_[KERNEL]-alarm(delete_sub =
$heap-{next_delete_alarm_time}) if($end_time = time);
$heap-{RESULT}-{delete_sub_status_counter}++;
}

}


WORKING!!!(recursive call thro alarm)
--
get_poll_status(){
  .
 .
  .
if($heap-{RESULT}-{poll_success} != 1){
 #   while($end_time = time){
$heap-{next_poll_alarm_time} = int(time())+30;
$_[KERNEL]-alarm(get_poll_status =
$heap-{next_poll_alarm_time})  if($end_time = time);
$heap-{RESULT}-{poll_status_error_counter}++;
  #  }
}else{
$_[KERNEL]-yield(get_delivery_status,$pollquerystring);
}

}
Please let me know if am missing something in it!!, it works at one
stage not at other, as i told, i couldnt get it running with
run_while() function, googling didnt gave me much info nor poe
cookbook.


On Fri, Nov 2, 2012 at 12:45 PM, Gokul Prasad nhgokulpra...@gmail.com wrote:
 If i run using run_whie() it gives me error, will the kernel-alarm()
 work fine wthin if loop?

 Even with TRACE_REFCNT am not getting any clue!!!

 -gokul


 On Sat, Aug 25, 2012 at 1:45 PM, Rocco Caputo rcap...@pobox.com wrote:
 Hi, Gokul.

 POE::Kernel-alarm() enqueues an alarm, but it is not like the built-in 
 alarm().  POE's alarms are dispatched by POE::Kernel in between callbacks.  
 Your while() loop pre-empts the dispatcher, so the enqueued alarms never 
 occur.

 If your program must delay there, you can use POE::Kernel-run_while() to 
 run POE's dispatcher while a variable is true.  Set the variable false from 
 the callback you are waiting for.

 --
 Rocco Caputo rcap...@pobox.com

 On Aug 22, 2012, at 05:54, Gokul Prasad wrote:

 Hi,

 Am setting alarm in calling a function to check if particular task
 has executed properly or what.

 when i place the below code under while loop this alarm function is
 not being called, but when i comment while loop, it is just works fine
 correctly.

 while(end_time = current_time){
 $heap-{next_alarm_time} = int(time())+30;
print STDERR $heap-{next_alarm_time} why ti is printing\n;
 $kernel-alarm(next_task =
 $heap-{next_alarm_time});#$heap-{RESULT}-{event});
 }
 Not sure why it is happening? any suggestion.please


 Regards,
 gokul



Re: alarm function under while loop

2012-11-02 Thread Nick Perez
On Fri, 2 Nov 2012 13:12:58 +0530
Gokul Prasad nhgokulpra...@gmail.com wrote:

 Hi,

snip_giant_mess/

Can you nopaste a complete (non)working test case? Trying to help you
debug this piece meal isn't working. Also, explain what it is you are
trying to achieve? Perhaps you do not need to do something so
complicated.  


-- 

Nicholas Perez
XMPP/Email: n...@nickandperla.net
https://metacpan.org/author/NPEREZ
http://github.com/nperez


Re: alarm function under while loop

2012-08-25 Thread Rocco Caputo
Hi, Gokul.

POE::Kernel-alarm() enqueues an alarm, but it is not like the built-in 
alarm().  POE's alarms are dispatched by POE::Kernel in between callbacks.  
Your while() loop pre-empts the dispatcher, so the enqueued alarms never occur.

If your program must delay there, you can use POE::Kernel-run_while() to run 
POE's dispatcher while a variable is true.  Set the variable false from the 
callback you are waiting for.

-- 
Rocco Caputo rcap...@pobox.com

On Aug 22, 2012, at 05:54, Gokul Prasad wrote:

 Hi,
 
 Am setting alarm in calling a function to check if particular task
 has executed properly or what.
 
 when i place the below code under while loop this alarm function is
 not being called, but when i comment while loop, it is just works fine
 correctly.
 
 while(end_time = current_time){
 $heap-{next_alarm_time} = int(time())+30;
print STDERR $heap-{next_alarm_time} why ti is printing\n;
 $kernel-alarm(next_task =
 $heap-{next_alarm_time});#$heap-{RESULT}-{event});
 }
 Not sure why it is happening? any suggestion.please
 
 
 Regards,
 gokul