<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html; charset=ISO-8859-1"
 http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
I too have been extraordinarily aggravated by this inconsistent
behavior.&nbsp; How can this not be a bug?&nbsp; There are any number of reasons
multiple epilogue calls can cause problems.&nbsp; If there are any
legitimate reasons that multiple epilogues <i>should </i>be called,
then those instances should create the workaround- not the other way
around.<br>
In my case, I not only make database entries within epilogue but also
do operations on hardware devices (GPUs) that fail if run over the top
of one another- this ends up causing a cascading failure when it occurs
(as it should).&nbsp; I need a way to prevent multiple epilogue scripts from
running, or a bug fix.&nbsp; Can there be consensus that this is a bug, or
am I missing something?&nbsp; (perfectly possible)<br>
thanks-<br>
<br>
&nbsp;&nbsp;&nbsp; Jeremy<br>
<br>
On 1/11/2010 4:29 PM, Garrick Staples wrote:
<blockquote cite="mid:20100111222955.GU2007@polop.usc.edu" type="cite">
  <pre wrap="">On Mon, Jan 11, 2010 at 04:58:19PM -0500, Kevin Van Workum alleged:
  </pre>
  <blockquote type="cite">
    <blockquote type="cite">
      <pre wrap="">If your script knew that epilogue was run before, what would it change?

      </pre>
    </blockquote>
    <pre wrap="">
There are cases when the epilogue script should do some task(s) only once.
If it knew that a particular job had already been (or is currently being)
processed by a previous instantiation, it could just skip the do-only-once
tasks.


    </pre>
    <blockquote type="cite">
      <pre wrap="">You still wouldn't know if it completed; if it completed successfully. Your
script wouldn't know if *it* had been run before; if it completed. What if
your
script had been terminated halfway through it's critical stage?

Everything in epilogue just needs to be written to be indempotent.

      </pre>
    </blockquote>
    <pre wrap="">
Sure, but it would be much easier in some cases if you knew a priori that
epilogue had already been called to process a job. E.g. 'echo "your job
completed on $(date)" &gt;&gt; some.log' would be difficult to make idempotent.
    </pre>
  </blockquote>
  <pre wrap="">
My point is that you still wouldn't know if the particular actions completed or 
not.

Say, for example, that epilogue ran a script that did some sort of database
operation. Imagine that the initial database connection hung and epilogue timed
out. Would you want to skip that database operation on subsequent epilogue
runs?

It doesn't matter how many times epilogue runs, you still need to check each of
the tasks you wish to perform and make sure they have been done.

  grep -q "$JOBID completed" some.log || echo "$JOBID completed on $(date)" &gt;&gt; some.log

(personally, I log "epilogue started at $date" at the beginning of the script,
and "epilogue completed at $date" at the end)


  </pre>
  <pre wrap="">
<fieldset class="mimeAttachmentHeader"></fieldset>
_______________________________________________
torqueusers mailing list
<a class="moz-txt-link-abbreviated" href="mailto:torqueusers@supercluster.org">torqueusers@supercluster.org</a>
<a class="moz-txt-link-freetext" href="http://www.supercluster.org/mailman/listinfo/torqueusers">http://www.supercluster.org/mailman/listinfo/torqueusers</a>
  </pre>
</blockquote>
</body>
</html>