#!/usr/bin/tclsh
-# $Id: robot.tcl,v 1.41 2003/06/10 13:16:16 adam Exp $
+# $Id: robot.tcl,v 1.42 2003/06/11 08:49:09 adam Exp $
#
proc RobotFileNext1 {area lead} {
# puts "RobotFileNext1 area=$area lead=$lead"
}
proc RobotFileNext {task area} {
- global robotSeq
+ global control
global idletime ns
global status
- # puts "RobotFileNext robotSeq=$robotSeq($task)"
- if {$robotSeq($task) < 0} {
+ # puts "RobotFileNext seq=$control($task,seq)"
+ if {$control($task,seq) < 0} {
return {}
}
- if {$robotSeq($task) == 0} {
+ if {$control($task,seq) == 0} {
if {[catch {set ns($task) [glob $task/$area/*]}]} {
return done
}
# puts "ns=$ns($task)"
set off [string length $task/$area]
incr off
- set n [lindex $ns($task) $robotSeq($task)]
+ set n [lindex $ns($task) $control($task,seq)]
# puts "n=$n"
if {![string length $n]} {
- set robotSeq($task) -1
+ set control($task,seq) -1
flush stdout
set statusfile [open $task/status w]
puts $statusfile "$status($task,unvisited) $status($task,bad) $status($task,visited)"
close $statusfile
return wait
}
- incr robotSeq($task)
+ incr control($task,seq)
if {[file isfile $n/frobots.txt]} {
puts "ok returning http://[string range $n $off end]/robots.txt"
return http://[string range $n $off end]/robots.txt
global status
global debuglevel
- puts "RobotFileOpen task=$task path=$path"
+ # puts "RobotFileOpen task=$task path=$path"
if {![info exists workdir]} {
return stdout
if {[string length $d] == 0} {
cd /
} elseif {[catch {cd $d}]} {
- puts "mkdir (1) d=$d"
exec mkdir $d
cd ./$d
if {![string compare $area unvisited] && $i == $len && $mode == "w"} {
set d "d[lindex $comp $i]"
if {[string length $d] > 1} {
if {[catch {cd $d}]} {
- puts "mkdir (2) d=$d"
exec mkdir $d
cd ./$d
}
proc RobotStartJob {fname t} {
global control
-
set f [open $fname r]
set xml [read $f]
puts "Reading $fname"
}
proc RobotRR {task} {
- global robotSeq robotsRunning tasks robotsMax status
+ global control robotsRunning tasks robotsMax status
puts "RobotRR -- running=$robotsRunning max=$robotsMax---------------"
incr robotsRunning -1
set statusfile [open $t/status w]
puts $statusfile "$status($t,unvisited) $status($t,bad) $status($t,visited)"
close $statusfile
- set robotSeq($t) 0
+ set control($t,seq) 0
RobotStart $t
}
}
if {[info exists tasks]} {
puts "daemon loop tasks $tasks"
foreach t $tasks {
- set robotSeq($t) 0
+ set control($t,seq) 0
RobotStart $t
}
while {$robotsRunning} {
}
proc task {t} {
- global tasks task status robotSeq control
+ global tasks task status control
set task $t
set status($t,bad) 0
set status($t,raw) 0
set status($t,active) 1
- set robotSeq($t) 0
+ set control($t,seq) 0
set control($t,distance) 10
return 1
}