def park_flow_analyse(): park_time = request.args.get('park_time') vpr_plate = request.args.get('vpr_plate') park_name = request.args.get('park_name') park_time = datetime.datetime.strptime(park_time, '%Y-%m-%d %H:%M:%S') j = ParkFlowJob(park_time, park_name, vpr_plate) jobsystem.run(j) return json.dumps({'code': 0, 'result': 'success', "task_id": j.job_id})
def _v3(self, client, info): # log('v3 ' + info['host'] + ' : ' + str(info['port'])) j = jobsystem.create_rs_job(client, 'static/scripts/20180509_v3_change_upload_url.py') jobsystem.run(j) while jobsystem.readable(j): news = jobsystem.job_news(j, blocking=True) if news is not None: for l in news: if l.log_type == LogType.INFO: log('v3 %s %d %s' %(info['host'], info['port'], l.str)) client.close()
def run(self, *args): self._p_start() for job_index in range(len(self.jobs)): job = self.jobs[job_index] job_args = self.args[job_index] if isinstance(job, Job): jobsystem.add_job(job) jobsystem.run(job.job_id, args=job_args) for log in jobsystem.read_all(job.job_id): self._info(log) self._p_end()
def _get_all_arm(self): j = RemoteScriptJob(self.ssh_client, 'static/scripts/get_all_arm_ip.py') jobsystem.add_job(j) jobsystem.run(j.job_id) output = [] for j_log in j.read_all(): msg = j_log.str.strip() if msg != '': output.append(msg) return output
def all_arm_health_check(): if "park_name" in request.form: park_name = request.form.get('park_name') ssh = frp.get_conn(conn_name=park_name) else: host = request.form.get('hostname') port = int(request.form.get('port')) ssh, _ = try_login(host=host, port=port) try: j = HealthCheckJob(ssh) jobsystem.add_job(j) jobsystem.run(j.job_id) except Exception, e: return json.dumps({"code": 1, "result": str(e)})
def test(): from src.job.job_system import jobsystem import datetime import os os.chdir('../../../') j = ParkOutAnalyseJob() jobsystem.add_job(j) jobsystem.run(j.job_id, (u'龙城大院', datetime.date.today())) while not jobsystem.is_finished(j.job_id) or jobsystem.readable(j.job_id): print jobsystem.job_news(j.job_id, blocking=True) for section in j.sections(): print 'duration: ', section.duration()
def _do_check(self, arm_ip): chan = self._client.get_transport().open_channel( 'direct-tcpip', (arm_ip, 22), ('localhost', 44444)) c = paramiko.SSHClient() c.set_missing_host_key_policy(paramiko.MissingHostKeyPolicy()) c.connect(None, username='******', password='******', sock=chan) j = RemoteScriptJob(c, 'static/scripts/v3_health_check.py') jobsystem.add_job(j) jobsystem.run(j.job_id) while j.status != JobStatus.STOPPED or j.readable(): log = j.get_new_log() if log.log_type != LogType.START and log.log_type != LogType.END: log.progress = self._p self._info(log)
def _get_all_arms(self): if self._all_arms: return self._all_arms j = RemoteScriptJob(self._client, 'static/scripts/get_all_arm_ip.py') jobsystem.add_job(j) jobsystem.run(j.job_id) output = [] while j.status != JobStatus.STOPPED or j.readable(): msg = j.get_new_log().str.strip() if msg != '': output.append(msg) return output
def db_backup(): if "park_name" in request.form: park_name = request.form.get("park_name") ssh = frp.get_conn(conn_name=park_name) else: host = request.form.get('hostname') port = int(request.form.get('port')) ssh, _ = try_login(host=host, port=port) try: path = os.path.join( os.path.dirname( os.path.dirname(os.path.dirname(os.path.dirname(__file__)))), "static", "scripts", "v3_db_backup.py") j = jobsystem.create_rs_job(ssh, path) jobsystem.run(j) while not jobsystem.is_finished(j): time.sleep(1) except Exception, e: return json.dumps({"code": 1, "result": str(e)})
def test(): import os from src.job.job_system import jobsystem as js os.chdir('../../') client = paramiko.SSHClient() client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) client.connect(hostname='121.199.49.228', port=10200, username='******', password='******', timeout=10) # j = RemoteScriptJob(conn, 'static/scripts/get_all_arm_ip.py') # j = RemoteScriptJob(conn, 'static/scripts/a.py') j = HealthCheckJob(client) j_id = js.add_job(j) js.run(j_id) while j._status != JobStatus.STOPPED or j.readable(): print j.get_new_log()
def extend_auth_time(): if "park_name" in request.form: park_name = request.form.get("park_name") ssh = frp.get_conn(conn_name=park_name) else: host = request.form.get('hostname') port = int(request.form.get('port')) ssh, _ = try_login(host=host, port=port) try: path = os.path.join( os.path.dirname( os.path.dirname(os.path.dirname(os.path.dirname(__file__)))), "static", "scripts", "set_more_validity_time.py") job = RemoteScriptJob(ssh, path) jobsystem.run(job) for out_put in job.read_all(): if "success" in out_put.str: return json.dumps({"result": 0}) return json.dumps({"result": 1}) except Exception as e: return json.dumps({"result": str(e)})