def main(argv=None): if not argv: argv = sys.argv # Try to handle unexpected exceptions try: # Create and register the RPC server flaskserver = FlaskServer() xmlrpc = FlaskXMLRPC(flaskserver) # GENIv3 geni_v3_handler = GENIv3Handler() geni_v3_delegate = GENIv3Delegate() geni_v3_handler.setDelegate(geni_v3_delegate) xmlrpc.registerXMLRPC("geni3_ro", geni_v3_handler, "/xmlrpc/geni/3/") # Services/Workers to add # Topology update geni_v3_scheduler = ROSchedulerService() # Run server starting the services flaskserver.runServer(services=[geni_v3_scheduler]) except KeyboardInterrupt: return True except Exception as e: sys.stderr.write("Got an exception: %s\n" % str(e)) return False finally: # Stop the services if "geni_v3_scheduler" in locals(): geni_v3_scheduler.stop() return True
def __schedule_tnres_update(self, func, secs, name): scheduler = ROSchedulerService.get_scheduler() if scheduler is not None: run = datetime.now() + timedelta(seconds=secs) ROSchedulerService.get_scheduler().add_job(func, "date", run_date=run, id=name)
def __schedule_slice_release(self, end_time, slivers): scheduler = ROSchedulerService.get_scheduler() logger.debug("schedule_slice_release: endtime=%s, slivers=%s, obj=%s" % (end_time, slivers, scheduler,)) if (end_time is not None) and (scheduler is not None): urns = [s.get("geni_sliver_urn") for s in slivers] ROSchedulerService.get_scheduler().add_job( slice_expiration, "date", run_date=end_time, args=[urns])
def __schedule_slice_release(self, end_time, slivers): scheduler = ROSchedulerService.get_scheduler() logger.debug("schedule_slice_release: endtime=%s, slivers=%s, obj=%s" % ( end_time, slivers, scheduler, )) if (end_time is not None) and (scheduler is not None): urns = [s.get("geni_sliver_urn") for s in slivers] ROSchedulerService.get_scheduler().add_job(slice_expiration, "date", run_date=end_time, args=[urns])
def __schedule_tnres_update(self, func, secs, name): scheduler = ROSchedulerService.get_scheduler() if scheduler is not None: run =datetime.now() + timedelta(seconds=secs) ROSchedulerService.get_scheduler().add_job( func, "date", run_date=run, id=name)