Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-04-10 08:39:07

0001 import datetime
0002 import time
0003 
0004 from pandacommon.pandautils.PandaUtils import naive_utcnow
0005 
0006 # password
0007 from pandaserver.config import panda_config
0008 from pandaserver.taskbuffer.OraDBProxy import DBProxy
0009 from pandaserver.userinterface import Client
0010 
0011 # time limit
0012 timeLimit = naive_utcnow() - datetime.timedelta(hours=1)
0013 
0014 # instantiate DB proxies
0015 proxyS = DBProxy()
0016 proxyS.connect(panda_config.dbhost, panda_config.dbpasswd, panda_config.dbuser, panda_config.dbname)
0017 
0018 while True:
0019     # get PandaIDs
0020     varMap = {}
0021     varMap[":modificationTime"] = timeLimit
0022     sql = "SELECT PandaID FROM ATLAS_PANDA.jobsDefined4 WHERE modificationTime<:modificationTime ORDER BY PandaID"
0023     status, res = proxyS.querySQLS(sql, varMap)
0024 
0025     # escape
0026     if len(res) == 0:
0027         break
0028     # convert to list
0029     jobs = []
0030     for (id,) in res:
0031         jobs.append(id)
0032     # reassign
0033     nJob = 300
0034     iJob = 0
0035     while iJob < len(jobs):
0036         print(f"reassignJobs({jobs[iJob:iJob + nJob]})")
0037         Client.reassign_jobs(jobs[iJob : iJob + nJob])
0038         iJob += nJob
0039         time.sleep(60)