Loading [MathJax]/extensions/TeX/AMSsymbols.js
LALPulsar 7.1.1.1-5e288d3
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
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 71 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 83 of file lalpulsar_knope_automation_script.py.

Variable Documentation

◆ file

lalpulsar_knope_automation_script.file

Definition at line 39 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 61 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.
2A configuration .ini file is required.
3"""

Definition at line 99 of file lalpulsar_knope_automation_script.py.

◆ parser

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

Definition at line 103 of file lalpulsar_knope_automation_script.py.

◆ action

lalpulsar_knope_automation_script.action

Definition at line 104 of file lalpulsar_knope_automation_script.py.

◆ version

lalpulsar_knope_automation_script.version

Definition at line 104 of file lalpulsar_knope_automation_script.py.

◆ help

lalpulsar_knope_automation_script.help

Definition at line 105 of file lalpulsar_knope_automation_script.py.

◆ opts

lalpulsar_knope_automation_script.opts = parser.parse_args()

Definition at line 108 of file lalpulsar_knope_automation_script.py.

◆ inifile

lalpulsar_knope_automation_script.inifile = opts.inifile

Definition at line 110 of file lalpulsar_knope_automation_script.py.

◆ startcron

bool lalpulsar_knope_automation_script.startcron = False

Definition at line 120 of file lalpulsar_knope_automation_script.py.

◆ cronid

lalpulsar_knope_automation_script.cronid = "knopeJob"

Definition at line 121 of file lalpulsar_knope_automation_script.py.

◆ cp

lalpulsar_knope_automation_script.cp = RawConfigParser()

Definition at line 124 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 141 of file lalpulsar_knope_automation_script.py.

◆ keytab

lalpulsar_knope_automation_script.keytab = None

Definition at line 164 of file lalpulsar_knope_automation_script.py.

◆ certificate

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

Definition at line 169 of file lalpulsar_knope_automation_script.py.

◆ authprinc

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

Definition at line 172 of file lalpulsar_knope_automation_script.py.

◆ cprun

lalpulsar_knope_automation_script.cprun = RawConfigParser()

Definition at line 178 of file lalpulsar_knope_automation_script.py.

◆ timestep

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

Definition at line 187 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 190 of file lalpulsar_knope_automation_script.py.

◆ email

lalpulsar_knope_automation_script.email = None

Definition at line 199 of file lalpulsar_knope_automation_script.py.

◆ server

lalpulsar_knope_automation_script.server = None

Definition at line 200 of file lalpulsar_knope_automation_script.py.

◆ FROM

string lalpulsar_knope_automation_script.FROM = None

Definition at line 226 of file lalpulsar_knope_automation_script.py.

◆ HOST

lalpulsar_knope_automation_script.HOST = socket.getfqdn()

Definition at line 229 of file lalpulsar_knope_automation_script.py.

◆ USER

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

Definition at line 230 of file lalpulsar_knope_automation_script.py.

◆ now

lalpulsar_knope_automation_script.now = Time.now()

Definition at line 236 of file lalpulsar_knope_automation_script.py.

◆ gpsnow

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

Definition at line 237 of file lalpulsar_knope_automation_script.py.

◆ prevdags

lalpulsar_knope_automation_script.prevdags = None

Definition at line 240 of file lalpulsar_knope_automation_script.py.

◆ rescuedags

dictionary lalpulsar_knope_automation_script.rescuedags = None

Definition at line 241 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 243 of file lalpulsar_knope_automation_script.py.

◆ subject

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

Definition at line 258 of file lalpulsar_knope_automation_script.py.

◆ lockfile

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

Definition at line 263 of file lalpulsar_knope_automation_script.py.

◆ cron

lalpulsar_knope_automation_script.cron = CronTab(user=True)

Definition at line 277 of file lalpulsar_knope_automation_script.py.

◆ thisjob

lalpulsar_knope_automation_script.thisjob = job

Definition at line 279 of file lalpulsar_knope_automation_script.py.

◆ t1

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

Definition at line 282 of file lalpulsar_knope_automation_script.py.

◆ t2

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

Definition at line 283 of file lalpulsar_knope_automation_script.py.

◆ dt

lalpulsar_knope_automation_script.dt = t2 - t1

Definition at line 284 of file lalpulsar_knope_automation_script.py.

◆ newcrontime

lalpulsar_knope_automation_script.newcrontime = now + dt

Definition at line 285 of file lalpulsar_knope_automation_script.py.

◆ Nrescues

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

Definition at line 312 of file lalpulsar_knope_automation_script.py.

◆ rescuefile

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

Definition at line 318 of file lalpulsar_knope_automation_script.py.

◆ x

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

Definition at line 340 of file lalpulsar_knope_automation_script.py.

◆ fc

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

Definition at line 357 of file lalpulsar_knope_automation_script.py.

◆ starttime

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

Definition at line 406 of file lalpulsar_knope_automation_script.py.

◆ endtime

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

Definition at line 431 of file lalpulsar_knope_automation_script.py.

◆ timelag

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

Definition at line 455 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 464 of file lalpulsar_knope_automation_script.py.

◆ newstart

lalpulsar_knope_automation_script.newstart = prev_ends[-1]

Definition at line 476 of file lalpulsar_knope_automation_script.py.

◆ newend

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

Definition at line 483 of file lalpulsar_knope_automation_script.py.

◆ runscript

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

Definition at line 515 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 547 of file lalpulsar_knope_automation_script.py.

◆ wov

string lalpulsar_knope_automation_script.wov = ""

Definition at line 590 of file lalpulsar_knope_automation_script.py.

◆ virtualenv

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

Definition at line 594 of file lalpulsar_knope_automation_script.py.

◆ woh

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

Definition at line 596 of file lalpulsar_knope_automation_script.py.

◆ profile

lalpulsar_knope_automation_script.profile = None

Definition at line 616 of file lalpulsar_knope_automation_script.py.

◆ krbcert

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

Definition at line 627 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 628 of file lalpulsar_knope_automation_script.py.

◆ ligoproxyinit

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

Definition at line 629 of file lalpulsar_knope_automation_script.py.

◆ cronwrapperscript

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

Definition at line 638 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 639 of file lalpulsar_knope_automation_script.py.

◆ fp

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

Definition at line 651 of file lalpulsar_knope_automation_script.py.

◆ job

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

Definition at line 669 of file lalpulsar_knope_automation_script.py.

◆ day

lalpulsar_knope_automation_script.day = now.datetime.day

Definition at line 672 of file lalpulsar_knope_automation_script.py.

◆ month

lalpulsar_knope_automation_script.month = now.datetime.month

Definition at line 673 of file lalpulsar_knope_automation_script.py.

◆ year

lalpulsar_knope_automation_script.year = now.datetime.year

Definition at line 674 of file lalpulsar_knope_automation_script.py.

◆ hour

lalpulsar_knope_automation_script.hour = now.datetime.hour

Definition at line 675 of file lalpulsar_knope_automation_script.py.

◆ minute

lalpulsar_knope_automation_script.minute = now.datetime.minute

Definition at line 676 of file lalpulsar_knope_automation_script.py.

◆ dow

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

Definition at line 677 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 709 of file lalpulsar_knope_automation_script.py.

◆ out

lalpulsar_knope_automation_script.out

Definition at line 710 of file lalpulsar_knope_automation_script.py.

◆ err

lalpulsar_knope_automation_script.err

Definition at line 710 of file lalpulsar_knope_automation_script.py.