Esempio n. 1
0
    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()
Esempio n. 2
0
    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()