def launch_expired_fs(): from openflow.optin_manager.opts.models import Experiment from openflow.optin_manager.opts.models import ExperimentFLowSpace from openflow.optin_manager.opts.models import ExpiringFlowSpaces from openflow.optin_manager.monitoring.util.queue import Queue expiration_buffer = list() exps = Experiment.objects.exclude(slice_urn__isnull=True) for exp in exps: try: # Attempt to retrieve expiring flowspaces for each experiment expiring_fs = ExpiringFlowSpaces.objects.get( slice_urn=exp.slice_urn) int_exp = int( datetime.strptime( expiring_fs.expiration.split(".")[0], '%Y-%m-%d %H:%M:%S').strftime("%s")) params = { "urn": exp.slice_urn, "expiring_fs": expiring_fs, "expiration": int_exp } method = ExpirationManager.delete_expired_flowspaces expiration_buffer.append((int_exp, method, params)) except: pass expiration_buffer.sort() q = Queue(expiration_buffer) q.start()
def launch_reservation_queue(): from openflow.optin_manager.opts.models import Reservation from openflow.optin_manager.opts.models import ReservationFlowSpace from openflow.optin_manager.monitoring.util.queue import Queue expiration_buffer = list() reservations = Reservation.objects.all() for r in reservations: int_exp = int( datetime.strptime( r.expiration.split(".")[0], '%Y-%m-%d %H:%M:%S').strftime("%s")) rfss = r.reservationflowspace_set.all() method = ExpirationManager.delete_expired_reservations params = { "reservation": r, "reservation_flowspaces": rfss, "expiration": int_exp } expiration_buffer.append((int_exp, method, params)) expiration_buffer.sort() q = Queue(expiration_buffer) q.start()