LALPulsar  6.1.0.1-b72065a
lalpulsar_knope_automation_script Namespace Reference

Functions

def remove_cron (cronid)
 
def send_email (FROM, TO, SUBJECT, MESSAGE, server, quitserver=True)
 

Variables

 file
 
dictionary tsdic
 
string description
 
 parser = argparse.ArgumentParser(description=description)
 
 action
 
 version
 
 help
 
 opts = parser.parse_args()
 
 inifile = opts.inifile
 
bool startcron = False
 
string cronid = "knopeJob"
 
 cp = RawConfigParser()
 
 runconfig
 
 keytab = None
 
 certificate = cp.get("kerberos", "certificate")
 
 authprinc = cp.get("kerberos", "auth_princ")
 
 cprun = RawConfigParser()
 
 timestep = cp.get("times", "steps")
 
string errmsg = "Error... 'steps' value in '[times'] must be 'hourly', 'daily', 'weekly' or 'monthly'"
 
 email = None
 
 server = None
 
 FROM = None
 
 HOST = socket.getfqdn()
 
 USER = os.environ["USER"]
 
 now = Time.now()
 
 gpsnow = int(now.replicate("gps").value)
 
 prevdags = None
 
 rescuedags = None
 
 rundir
 
string subject = sys.argv[0] + ": Error message"
 
string lockfile = prevdags[-1] + ".lock"
 
 cron = CronTab(user=True)
 
 thisjob = job
 
 t1 = Time("2010-01-01 00:00:00")
 
 t2 = Time("2010-01-02 00:00:00")
 
 dt = t2 - t1
 
 newcrontime = now + dt
 
 Nrescues = rescuedags[prevdags[-1]]
 
string rescuefile = prevdags[-1] + ".rescue"
 
 x = Popen(["condor_submit_dag", prevdags[-1]])
 
 fc = open(inifile, "w")
 
 starttime = cp.getint("times", "starttime")
 
 endtime = cp.getint("times", "endtime")
 
 timelag = cp.getint("times", "lag")
 
 prev_ends = ast.literal_eval(cp.get("times", "previous_endtimes"))
 
 newstart = prev_ends[-1]
 
 newend = newstart + int(tsdic[timestep])
 
 runscript = cp.get("configuration", "exec")
 
string dagname = "automated_run_%s-%s" % (str(newstart), str(newend))
 
string wov = ""
 
 virtualenv = cp.get("configuration", "virtualenv")
 
 woh = os.environ["WORKON_HOME"]
 
 profile = None
 
string krbcert = "export KRB5CCNAME={}".format(certificate)
 
string kinit = "/usr/bin/kinit -a -P -F -k -t {} {}".format(keytab, authprinc)
 
string ligoproxyinit = "/usr/bin/ligo-proxy-init -k"
 
string cronwrapperscript = os.path.splitext(inifile)[0] + ".sh"
 
tuple cronwrapper
 
 fp = open(cronwrapperscript, "w")
 
 job = cron.new(command=cronwrapperscript, comment=cronid)
 
 day = now.datetime.day
 
 month = now.datetime.month
 
 year = now.datetime.year
 
 hour = now.datetime.hour
 
 minute = now.datetime.minute
 
 dow = now.datetime.strftime("%a").upper()
 
 p = sp.Popen("{0} {1}".format(runscript, runconfig), shell=True)
 RUN ANALYSIS SCRIPT ###. More...
 
 out
 
 err
 

Function Documentation

◆ remove_cron()

def lalpulsar_knope_automation_script.remove_cron (   cronid)

Definition at line 66 of file lalpulsar_knope_automation_script.py.

◆ send_email()

def lalpulsar_knope_automation_script.send_email (   FROM,
  TO,
  SUBJECT,
  MESSAGE,
  server,
  quitserver = True 
)

Definition at line 78 of file lalpulsar_knope_automation_script.py.

Variable Documentation

◆ file

lalpulsar_knope_automation_script.file

Definition at line 34 of file lalpulsar_knope_automation_script.py.

◆ tsdic

dictionary lalpulsar_knope_automation_script.tsdic
Initial value:
1 = {
2  "hourly": 1440.0,
3  "daily": 86400.0,
4  "weekly": 7.0 * 86400.0,
5  "monthly": 86400.0
6  * calendar.monthrange(Time.now().datetime.year, Time.now().datetime.month)[1],
7 }

Definition at line 56 of file lalpulsar_knope_automation_script.py.

◆ description

string lalpulsar_knope_automation_script.description
Initial value:
1 = """This script will setup and run a cron job for an automated known pulsar pipeline.
2 A configuration .ini file is required.
3 """

Definition at line 94 of file lalpulsar_knope_automation_script.py.

◆ parser

lalpulsar_knope_automation_script.parser = argparse.ArgumentParser(description=description)

Definition at line 98 of file lalpulsar_knope_automation_script.py.

◆ action

lalpulsar_knope_automation_script.action

Definition at line 99 of file lalpulsar_knope_automation_script.py.

◆ version

lalpulsar_knope_automation_script.version

Definition at line 99 of file lalpulsar_knope_automation_script.py.

◆ help

lalpulsar_knope_automation_script.help

Definition at line 100 of file lalpulsar_knope_automation_script.py.

◆ opts

lalpulsar_knope_automation_script.opts = parser.parse_args()

Definition at line 103 of file lalpulsar_knope_automation_script.py.

◆ inifile

lalpulsar_knope_automation_script.inifile = opts.inifile

Definition at line 105 of file lalpulsar_knope_automation_script.py.

◆ startcron

bool lalpulsar_knope_automation_script.startcron = False

Definition at line 115 of file lalpulsar_knope_automation_script.py.

◆ cronid

lalpulsar_knope_automation_script.cronid = "knopeJob"

Definition at line 116 of file lalpulsar_knope_automation_script.py.

◆ cp

lalpulsar_knope_automation_script.cp = RawConfigParser()

Definition at line 119 of file lalpulsar_knope_automation_script.py.

◆ runconfig

lalpulsar_knope_automation_script.runconfig
Initial value:
1 = cp.get(
2  "configuration", "file"
3  )

Definition at line 136 of file lalpulsar_knope_automation_script.py.

◆ keytab

lalpulsar_knope_automation_script.keytab = None

Definition at line 159 of file lalpulsar_knope_automation_script.py.

◆ certificate

lalpulsar_knope_automation_script.certificate = cp.get("kerberos", "certificate")

Definition at line 164 of file lalpulsar_knope_automation_script.py.

◆ authprinc

lalpulsar_knope_automation_script.authprinc = cp.get("kerberos", "auth_princ")

Definition at line 167 of file lalpulsar_knope_automation_script.py.

◆ cprun

lalpulsar_knope_automation_script.cprun = RawConfigParser()

Definition at line 173 of file lalpulsar_knope_automation_script.py.

◆ timestep

lalpulsar_knope_automation_script.timestep = cp.get("times", "steps")

Definition at line 182 of file lalpulsar_knope_automation_script.py.

◆ errmsg

string lalpulsar_knope_automation_script.errmsg = "Error... 'steps' value in '[times'] must be 'hourly', 'daily', 'weekly' or 'monthly'"

Definition at line 185 of file lalpulsar_knope_automation_script.py.

◆ email

lalpulsar_knope_automation_script.email = None

Definition at line 194 of file lalpulsar_knope_automation_script.py.

◆ server

lalpulsar_knope_automation_script.server = None

Definition at line 195 of file lalpulsar_knope_automation_script.py.

◆ FROM

string lalpulsar_knope_automation_script.FROM = None

Definition at line 221 of file lalpulsar_knope_automation_script.py.

◆ HOST

lalpulsar_knope_automation_script.HOST = socket.getfqdn()

Definition at line 224 of file lalpulsar_knope_automation_script.py.

◆ USER

lalpulsar_knope_automation_script.USER = os.environ["USER"]

Definition at line 225 of file lalpulsar_knope_automation_script.py.

◆ now

lalpulsar_knope_automation_script.now = Time.now()

Definition at line 231 of file lalpulsar_knope_automation_script.py.

◆ gpsnow

lalpulsar_knope_automation_script.gpsnow = int(now.replicate("gps").value)

Definition at line 232 of file lalpulsar_knope_automation_script.py.

◆ prevdags

lalpulsar_knope_automation_script.prevdags = None

Definition at line 235 of file lalpulsar_knope_automation_script.py.

◆ rescuedags

dictionary lalpulsar_knope_automation_script.rescuedags = None

Definition at line 236 of file lalpulsar_knope_automation_script.py.

◆ rundir

tuple lalpulsar_knope_automation_script.rundir
Initial value:
1 = cprun.get(
2  "analysis", "run_dir"
3  )

Definition at line 238 of file lalpulsar_knope_automation_script.py.

◆ subject

string lalpulsar_knope_automation_script.subject = sys.argv[0] + ": Error message"

Definition at line 253 of file lalpulsar_knope_automation_script.py.

◆ lockfile

string lalpulsar_knope_automation_script.lockfile = prevdags[-1] + ".lock"

Definition at line 258 of file lalpulsar_knope_automation_script.py.

◆ cron

lalpulsar_knope_automation_script.cron = CronTab(user=True)

Definition at line 272 of file lalpulsar_knope_automation_script.py.

◆ thisjob

lalpulsar_knope_automation_script.thisjob = job

Definition at line 274 of file lalpulsar_knope_automation_script.py.

◆ t1

lalpulsar_knope_automation_script.t1 = Time("2010-01-01 00:00:00")

Definition at line 277 of file lalpulsar_knope_automation_script.py.

◆ t2

lalpulsar_knope_automation_script.t2 = Time("2010-01-02 00:00:00")

Definition at line 278 of file lalpulsar_knope_automation_script.py.

◆ dt

lalpulsar_knope_automation_script.dt = t2 - t1

Definition at line 279 of file lalpulsar_knope_automation_script.py.

◆ newcrontime

lalpulsar_knope_automation_script.newcrontime = now + dt

Definition at line 280 of file lalpulsar_knope_automation_script.py.

◆ Nrescues

int lalpulsar_knope_automation_script.Nrescues = rescuedags[prevdags[-1]]

Definition at line 307 of file lalpulsar_knope_automation_script.py.

◆ rescuefile

string lalpulsar_knope_automation_script.rescuefile = prevdags[-1] + ".rescue"

Definition at line 313 of file lalpulsar_knope_automation_script.py.

◆ x

lalpulsar_knope_automation_script.x = Popen(["condor_submit_dag", prevdags[-1]])

Definition at line 335 of file lalpulsar_knope_automation_script.py.

◆ fc

lalpulsar_knope_automation_script.fc = open(inifile, "w")

Definition at line 352 of file lalpulsar_knope_automation_script.py.

◆ starttime

lalpulsar_knope_automation_script.starttime = cp.getint("times", "starttime")

Definition at line 401 of file lalpulsar_knope_automation_script.py.

◆ endtime

lalpulsar_knope_automation_script.endtime = cp.getint("times", "endtime")

Definition at line 426 of file lalpulsar_knope_automation_script.py.

◆ timelag

int lalpulsar_knope_automation_script.timelag = cp.getint("times", "lag")

Definition at line 450 of file lalpulsar_knope_automation_script.py.

◆ prev_ends

lalpulsar_knope_automation_script.prev_ends = ast.literal_eval(cp.get("times", "previous_endtimes"))

Definition at line 459 of file lalpulsar_knope_automation_script.py.

◆ newstart

lalpulsar_knope_automation_script.newstart = prev_ends[-1]

Definition at line 471 of file lalpulsar_knope_automation_script.py.

◆ newend

lalpulsar_knope_automation_script.newend = newstart + int(tsdic[timestep])

Definition at line 478 of file lalpulsar_knope_automation_script.py.

◆ runscript

lalpulsar_knope_automation_script.runscript = cp.get("configuration", "exec")

Definition at line 510 of file lalpulsar_knope_automation_script.py.

◆ dagname

string lalpulsar_knope_automation_script.dagname = "automated_run_%s-%s" % (str(newstart), str(newend))

Definition at line 542 of file lalpulsar_knope_automation_script.py.

◆ wov

string lalpulsar_knope_automation_script.wov = ""

Definition at line 585 of file lalpulsar_knope_automation_script.py.

◆ virtualenv

lalpulsar_knope_automation_script.virtualenv = cp.get("configuration", "virtualenv")

Definition at line 589 of file lalpulsar_knope_automation_script.py.

◆ woh

lalpulsar_knope_automation_script.woh = os.environ["WORKON_HOME"]

Definition at line 591 of file lalpulsar_knope_automation_script.py.

◆ profile

lalpulsar_knope_automation_script.profile = None

Definition at line 611 of file lalpulsar_knope_automation_script.py.

◆ krbcert

string lalpulsar_knope_automation_script.krbcert = "export KRB5CCNAME={}".format(certificate)

Definition at line 622 of file lalpulsar_knope_automation_script.py.

◆ kinit

string lalpulsar_knope_automation_script.kinit = "/usr/bin/kinit -a -P -F -k -t {} {}".format(keytab, authprinc)

Definition at line 623 of file lalpulsar_knope_automation_script.py.

◆ ligoproxyinit

string lalpulsar_knope_automation_script.ligoproxyinit = "/usr/bin/ligo-proxy-init -k"

Definition at line 624 of file lalpulsar_knope_automation_script.py.

◆ cronwrapperscript

string lalpulsar_knope_automation_script.cronwrapperscript = os.path.splitext(inifile)[0] + ".sh"

Definition at line 633 of file lalpulsar_knope_automation_script.py.

◆ cronwrapper

tuple lalpulsar_knope_automation_script.cronwrapper
Initial value:
1 = (
2 
3  % sys.argv[0]
4  )

Definition at line 634 of file lalpulsar_knope_automation_script.py.

◆ fp

lalpulsar_knope_automation_script.fp = open(cronwrapperscript, "w")

Definition at line 646 of file lalpulsar_knope_automation_script.py.

◆ job

lalpulsar_knope_automation_script.job = cron.new(command=cronwrapperscript, comment=cronid)

Definition at line 664 of file lalpulsar_knope_automation_script.py.

◆ day

lalpulsar_knope_automation_script.day = now.datetime.day

Definition at line 667 of file lalpulsar_knope_automation_script.py.

◆ month

lalpulsar_knope_automation_script.month = now.datetime.month

Definition at line 668 of file lalpulsar_knope_automation_script.py.

◆ year

lalpulsar_knope_automation_script.year = now.datetime.year

Definition at line 669 of file lalpulsar_knope_automation_script.py.

◆ hour

lalpulsar_knope_automation_script.hour = now.datetime.hour

Definition at line 670 of file lalpulsar_knope_automation_script.py.

◆ minute

lalpulsar_knope_automation_script.minute = now.datetime.minute

Definition at line 671 of file lalpulsar_knope_automation_script.py.

◆ dow

lalpulsar_knope_automation_script.dow = now.datetime.strftime("%a").upper()

Definition at line 672 of file lalpulsar_knope_automation_script.py.

◆ p

lalpulsar_knope_automation_script.p = sp.Popen("{0} {1}".format(runscript, runconfig), shell=True)

RUN ANALYSIS SCRIPT ###.

Definition at line 704 of file lalpulsar_knope_automation_script.py.

◆ out

lalpulsar_knope_automation_script.out

Definition at line 705 of file lalpulsar_knope_automation_script.py.

◆ err

lalpulsar_knope_automation_script.err

Definition at line 705 of file lalpulsar_knope_automation_script.py.