01-27-2015
I apologize, Don. I don't provide all the code because I thought it would obfuscate things, but it seems I've made things more complicated. I really appreciate your patience, here.
First, I run "ps" and look for instances of "my_job" and have a maximum number that's checked before spawning another. I've run as many as 400 to stress things, and it worked (with the exception being the problem I'm talking about here, which doesn't seem to be affected at all by that number). I currently run a maximum of 20, but at this instant, for debugging purposes, I've set the limit at one. There is some proprietary stuff inside "my_job" that I'm hesitant to show (yes, I understand how difficult that makes this!)
As for reading the files continuously, the source of data is always on, populating the source text file. I copy the file over, erase the source copy, and then read each line until a counter exceeds the line size of the file, OR if the last line I read has a timestamp that is too old.
As for your suggestion to read the file a single time, yes, I used that successfully and just switched back with the suspicion that that method (the method you recommend here) was causing my current problem.
Exit status: It executes an "exit 0" on success or failure, but results are all echoed to a log file. Failures I check are all for functions that read or write data to and from hardware, but I still exit 0, and simply report the results of those functions.
Would you suggest waiting until the process count (of running "my_job" instances) dropped to some lower number or perhaps zero before fetching a new file full of records?
Thanks again!!
Mark
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hello -
I have a bash script which does some logging, and I'd like to include the line number of the echo statement that pipes into $LOGGER:
MYPID=$$
MYNAME=`basename $0`
LOGGER="/usr/bin/logger -t $MYNAME($LINENO) -p daemon.error"
...
echo 'this is an entry into the log file' | $LOGGER
... (3 Replies)
Discussion started by: scandora
3 Replies
2. Shell Programming and Scripting
Hi,
I am having the following problem.
test > hourOfDay=06 ; delayTime=$(((9-$hourOfDay)*60)) ; echo $delayTime
180
test > hourOfDay=07 ; delayTime=$(((9-$hourOfDay)*60)) ; echo $delayTime
120
test > hourOfDay=08 ; delayTime=$(((9-$hourOfDay)*60)) ; echo $delayTime
bash: (9-08: value... (5 Replies)
Discussion started by: jbsimon000
5 Replies
3. Shell Programming and Scripting
Hello,
I'm running a bash script and I'd like to get more accurate a runtime information then now.
So far I've been using this method:
STARTM=`date -u "+%s"`
.........
*script function....
.........
STOPM=`date -u "+%s"`
RUNTIMEM=`expr $STOPM - $STARTM`
if (($RUNTIMEM>59)); then... (6 Replies)
Discussion started by: TehOne
6 Replies
4. Shell Programming and Scripting
Hi All,
There is a script (test.sh) which is taking more CPU usage. I am attaching the script in this thread.
Could anybody please help me out to optimize the script in a better way.
Thanks,
Gobinath (6 Replies)
Discussion started by: ntgobinath
6 Replies
5. Shell Programming and Scripting
I've got a large file (2-4 gigs), made up of 4 columns. I'd like to split the file into two, based on the 2nd column value being even or odd. The following script does the job, but runs incredibly slow--I'm not sure it will complete this week.
There must be a clever way to do this with just... (2 Replies)
Discussion started by: I.P. Freeley
2 Replies
6. Shell Programming and Scripting
Hello,
can someone please help me to fix this script,
I have a 2 files, one file has hostname information and second file has console information of the hosts in each line, I have written a script which actually reads each line in hostname file and should grep in the console file and paste the... (8 Replies)
Discussion started by: bobby320
8 Replies
7. Shell Programming and Scripting
Hi
I need help with my coding , first time I'm working with bash .
What i must do is check if there is 3 .txt files if there is not 3 of them i must give an error code , if al three is there i must first arrange them in alphabetical order and then take the last word in al 3 of the .txt files... (1 Reply)
Discussion started by: linux newb
1 Replies
8. Shell Programming and Scripting
hi all, I am trying to do a loop on a series of plotting function shown below:
colorlist=(blue red green); n=0;
for k in $xy; do
psbasemap $range -JM$scale -B10g5 -X1 -Y1 -P -K > $outfile
pscoast $range -JM$scale -B10g5 -D$res -P -W$lwidth -G$fill -O -K >> $outfile
echo... (1 Reply)
Discussion started by: ida1215
1 Replies
9. Shell Programming and Scripting
I'm running cygwin bash on windows 7 and I'm have some bat files that perform large builds and take a long time and a lot of memory.
Therefor, I don't want to builds executing simultaneously (too much memory).
How can I implement a queue so I can queue up multiple builds and only execute one... (2 Replies)
Discussion started by: siegfried
2 Replies
10. Shell Programming and Scripting
Hi all,
here's my script
#!/bin/ksh
if
then
export DB_CREATE_PATH=`pwd`
fi
echo
echo "********************--Menu--*****************************"
echo "*** "
echo "*** 1. Pre-Upgrade Steps "... (3 Replies)
Discussion started by: jediwannabe
3 Replies
LEARN ABOUT DEBIAN
mojo::ioloop::delay
Mojo::IOLoop::Delay(3pm) User Contributed Perl Documentation Mojo::IOLoop::Delay(3pm)
NAME
Mojo::IOLoop::Delay - Synchronize events
SYNOPSIS
use Mojo::IOLoop::Delay;
# Synchronize multiple events
my $delay = Mojo::IOLoop::Delay->new;
$delay->on(finish => sub { say 'BOOM!' });
for my $i (1 .. 10) {
$delay->begin;
Mojo::IOLoop->timer($i => sub {
say 10 - $i;
$delay->end;
});
}
# Wait for events if necessary
$delay->wait unless Mojo::IOLoop->is_running;
DESCRIPTION
Mojo::IOLoop::Delay synchronizes events for Mojo::IOLoop.
EVENTS
Mojo::IOLoop::Delay can emit the following events.
"finish"
$delay->on(finish => sub {
my $delay = shift;
...
});
Emitted safely once the active event counter reaches zero.
ATTRIBUTES
Mojo::IOLoop::Delay implements the following attributes.
"ioloop"
my $ioloop = $delay->ioloop;
$delay = $delay->ioloop(Mojo::IOLoop->new);
Loop object to control, defaults to the global Mojo::IOLoop singleton.
METHODS
Mojo::IOLoop::Delay inherits all methods from Mojo::EventEmitter and implements the following new ones.
"begin"
my $cb = $delay->begin;
Increment active event counter, the returned callback can be used instead of "end".
my $delay = Mojo::IOLoop->delay;
Mojo::UserAgent->new->get('mojolicio.us' => $delay->begin);
my $tx = $delay->wait;
"end"
$delay->end;
$delay->end(@args);
Decrement active event counter.
"wait"
my @args = $delay->wait;
Start "ioloop" and stop it again once the "finish" event gets emitted, only works when "ioloop" is not running already.
# Use the "finish" event to synchronize portably
$delay->on(finish => sub {
my ($delay, @args) = @_;
...
});
$delay->wait unless $delay->ioloop->is_running;
SEE ALSO
Mojolicious, Mojolicious::Guides, <http://mojolicio.us>.
perl v5.14.2 2012-09-05 Mojo::IOLoop::Delay(3pm)