qtube/bin/qtube

57 lines
1.3 KiB
Plaintext
Executable File

#!/mod/bin/jimsh
source /mod/webif/lib/setup
require lock system.class ts.class queue.class \
settings.class plugin
set loglevel 2
set logfd stdout
proc log {msg {level 1}} {
if {$level > $::loglevel} return
puts $::logfd "[\
clock format [clock seconds] -format "%d/%m/%Y %H:%M:%S"\
] QT([pid])- $msg"
flush $::logfd
}
set ct [llength $argv]
set optct $($ct-2)
set url [lindex $argv $($ct -1)]
set optlist [lrange $argv 0 $optct]
set strtk [lsearch $optlist "-start"]
set start [clock seconds]
if {$strtk!=-1} {
# -start specified
set time [lindex $argv $($strtk +1)]
set optlist [lreplace $optlist $strtk $($strtk +1)]
if {[string is integer -strict $time]} {
set start $time
} else {
catch {
set tstart [clock scan $time -format %H:%M]
if {$tstart<$start} {incr tstart 86400}
set start $tstart
}
}
if {$start == 0} {set start [clock seconds]}
}
if {$optlist == "{}"} {set optlist ""}
log "Starting URL: $url options: $optlist" 0
# queue with system Q
set q [{queue insert} -hold $url qtube]
$q set start $start
$q set args $optlist
set Qid [$q get id]
$q submit
log "Queued id: $Qid URL: $url options: $optlist" 0