Index: /trunk/ippTasks/summit.copy.pro
===================================================================
--- /trunk/ippTasks/summit.copy.pro	(revision 9357)
+++ /trunk/ippTasks/summit.copy.pro	(revision 9357)
@@ -0,0 +1,104 @@
+
+## PanTasks scripts for Summit Copy
+
+# queues: expPending (expID) (URL) (type) (source)
+
+$LastExpID = ""
+
+# newImagesPending : search for images to be processed
+task	       exp.pending
+  command      getNewExposures $LastExpID
+  host         local
+
+  # timeout shorter than exec so jobs do not build up
+  periods      -exec     5
+  periods      -poll     1
+  periods      -timeout  4
+
+  # success
+  task.exit    0
+    local i Nstdout
+    # keep only new, unique entries (URL is key)
+    queuesize stdout -var Nstdout
+    for i 0 $Nstdout
+      queuepop stdout -var line
+      queuepush expPending -uniq -key 0 "$line new"
+    end
+
+    # extract last exposure in list
+    list tmp -split $line
+    $LastExpID = $tmp:0
+  end
+end
+
+# imfile.pending : get the list imfiles for each exposure
+task	       imfile.pending
+  periods      -exec 1
+  periods      -timeout 10
+
+  task.exec
+    local Npending
+    queuesize  expPending -var Npending
+    if ($Npending == 0) break
+
+    queuepop expPending -var line -key 2 new
+    if ("$line" == "NULL") break
+
+    list tmp -split $line
+    $URL    = $tmp:0
+    $expID  = $tmp:1
+    $type   = $tmp:2
+    $camera = $tmp:3
+    queuepush expPending "$expID $camera run"
+
+    host local
+    command getNewImfiles $URL
+  end
+
+  # success
+  task.exit    0
+    local i Nstdout
+    # keep only new, unique entries (URL is key)
+    queuesize stdout -var Nstdout
+    for i 0 $Nstdout
+      queuepop stdout -var line
+      queuepush imfilePending -uniq -key 0 "$line new"
+    end
+  end
+end
+
+# imfile.download : submit download job to the appropriate node
+task	       imfile.download
+  periods      -exec 1
+  periods      -timeout 10
+
+  task.exec
+    local Npending
+    queuesize  imfilePending -var Npending
+    if ($Npending == 0) break
+
+    queuepop imfilePending -var line -key 2 new
+    if ("$line" == "NULL") break
+
+    list tmp -split $line
+    $URL    = $tmp:0
+    $expID  = $tmp:1
+    $type   = $tmp:2
+    $camera = $tmp:3
+    queuepush imfilePending "$expID $camera run"
+
+    host local
+    command copyImfile $URL
+  end
+
+  # success
+  task.exit    0
+    local i Nstdout
+    # keep only new, unique entries (URL is key)
+    queuesize stdout -var Nstdout
+    for i 0 $Nstdout
+      queuepop stdout -var line
+      queuepush imfilePending -uniq -key 0 "$line new"
+    end
+  end
+end
