12-18-2007
I disagree
Quote:
Originally Posted by
porter
Using a high speed polling loop with a 10 micro second delay (apparently to avoid a race condition) to schedule tasks that occur in seconds.
This can be tuned anyway the user wants.
That means for every second, you will wake up and execute the loop 100,000 times before you will ever find anything to do.
Simply using a variable for the usleep() parameter that was the number of microseconds between now and the next timed event would have been an excellent solution.
True, but then the function can only act as a cron manager. The object is meant to be used from within a game loop. That seems far more useful than a discrete utility designed only to sleep for specified number of milli seconds. Besides, the simple sleep method may not take into account how long it takes to execute the function before triggering again.
Anyway, it's just one of many ways to accomplish the task at hand. I didn't mean to strike a nerve.
I spent 3 months on something like this a few years ago. QA beat up on it pretty hard, it seemed to hold up well.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi,
I wrote a smiple ksh function
send_notification() {
...
}
and want to execute it on each file, matched by the find command.
I tried:
find / -name "*.err" -mtime -8 -exec send_notification {} \;
but it doesn't work. What should I do? I work in ksh on Hp-Ux.
Regards,
Pit (11 Replies)
Discussion started by: piooooter
11 Replies
2. Shell Programming and Scripting
Hi All,
Can you please tell me how to execute local function written in a shell script with awk.
i tried with system command but its giving an error. (1 Reply)
Discussion started by: krishna_gnv
1 Replies
3. UNIX for Advanced & Expert Users
I have a script A which calls script B. I wrote a function in script A to be executed when Kill command is issued for script A and I invoke that function using the trap command.The function identifies all child process running under script A (in this case script B) and kills the child process and... (3 Replies)
Discussion started by: smohandass
3 Replies
4. Shell Programming and Scripting
Gurus,
Can you please tell me why this script is executing but i am getting no result...also can you tell me what is this gettime() doing?
in a script i wrote this hour.SH
--------------------------
gettime() {
date '+%H' | {
read hour
TIME=${hour}
}
}
:
----------------------... (2 Replies)
Discussion started by: RubinPat
2 Replies
5. UNIX for Dummies Questions & Answers
dear all
i need your advice in shell with solaris
i have testing script like this
#!/usr/bin/bash
function test(){
echo "testing only"
}
## execute function ##
test
but if i running always got error like this
test.sh: syntax error at line 1: `(' unexpected
who can i running this... (7 Replies)
Discussion started by: zvtral
7 Replies
6. Shell Programming and Scripting
Here is some back ground on the script. The script is to poll an arbitrary number of DB's. To do this I am creating a function that takes the file_path to the DB and the min poll interval as arguments. The function will be called for each DB and then ran in the background. The function I was... (6 Replies)
Discussion started by: ryandavison
6 Replies
7. Shell Programming and Scripting
Hi
I am trying to a write a script which gives message queue depth for every 5 mins in a file.
Commands that I use are
runmqsc QM_Name
display ql(*) curdepth
Since I can use only MQSC commands I need help on how to fetch the output on to a file after executing display command. (3 Replies)
Discussion started by: jhilmil
3 Replies
8. Shell Programming and Scripting
#!/bin/bash
function getDeliveredDispatches(firstDateTime, lastDateTime, limit) {
var cursor = db.dispatches.find(
{$and: }}
]},
{"deliveryGroupId" : 1, "batchId": 1, "statusHistory.code" : 1}
);
var wrongDispatchesIds = ;
print("Number of dispatches selected based on filter = " +... (2 Replies)
Discussion started by: neel2462
2 Replies
9. Shell Programming and Scripting
Hi,
I am new to shell scripting and i need to write a automation script to execute sql files. I need to check the table if it is there in system tables and need to write a function to call the .sql files.
For ex. I have a.sql,b.sql,c.sql files, where the sql file contains DELETE and INSERT... (1 Reply)
Discussion started by: Samah
1 Replies
10. Shell Programming and Scripting
Hi All,
I have a menu driven scripts. As you know while running the script we have to input the option such as 1,2, and 3 to execute function accordingly. but after selecting the input we have to press Enter.
My requirement is to execute function as soon as we press the option.
Is there... (5 Replies)
Discussion started by: kiran_j
5 Replies
LEARN ABOUT DEBIAN
io::async::timer::periodic
IO::Async::Timer::Periodic(3pm) User Contributed Perl Documentation IO::Async::Timer::Periodic(3pm)
NAME
"IO::Async::Timer::Periodic" - event callback at regular intervals
SYNOPSIS
use IO::Async::Timer::Periodic;
use IO::Async::Loop;
my $loop = IO::Async::Loop->new;
my $timer = IO::Async::Timer::Periodic->new(
interval => 60,
on_tick => sub {
print "You've had a minute
";
},
);
$timer->start;
$loop->add( $timer );
$loop->run;
DESCRIPTION
This subclass of IO::Async::Timer implements repeating events at regular clock intervals. The timing may or may not be subject to how long
it takes the callback to execute. Iterations may be rescheduled runs at fixed regular intervals beginning at the time the timer was
started, or by a fixed delay after the previous code has finished executing.
For a "Timer" object that only runs a callback once, after a given delay, see instead IO::Async::Timer::Countdown. A Countdown timer can
also be used to create repeating events that fire at a fixed delay after the previous event has finished processing. See als the examples
in "IO::Async::Timer::Countdown".
EVENTS
The following events are invoked, either using subclass methods or CODE references in parameters:
on_tick
Invoked on each interval of the timer.
PARAMETERS
The following named parameters may be passed to "new" or "configure":
on_tick => CODE
CODE reference for the "on_tick" event.
interval => NUM
The interval in seconds between invocations of the callback or method. Cannot be changed if the timer is running.
first_interval => NUM
Optional. If defined, the interval in seconds after calling the "start" method before the first invocation of the callback or
method. Thereafter, the regular "interval" will be used. If not supplied, the first interval will be the same as the others.
Even if this value is zero, the first invocation will be made asynchronously, by the containing "Loop" object, and not
synchronously by the "start" method itself.
reschedule => STRING
Optional. Must be one of "hard", "skip" or "drift". Defines the algorithm used to reschedule the next invocation.
"hard" schedules each iteration at the fixed interval from the previous iteration's schedule time, ensuring a regular repeating
event.
"skip" schedules similarly to "hard", but skips over times that have already passed. This matters if the duration is particularly
short and there's a possibility that times may be missed, or if the entire process is stopped and resumed by "SIGSTOP" or similar.
"drift" schedules each iteration at the fixed interval from the time that the previous iteration's event handler returns. This
allows it to slowly drift over time and become desynchronised with other events of the same interval or multiples/fractions of it.
Once constructed, the timer object will need to be added to the "Loop" before it will work. It will also need to be started by the "start"
method.
AUTHOR
Paul Evans <leonerd@leonerd.org.uk>
perl v5.14.2 2012-10-24 IO::Async::Timer::Periodic(3pm)