

def scheduler_recycle_expr(self):
    "recycle experiment according to hackathon basic info on recycle configuration\n\n        According to the hackathon's basic info on 'recycle_enabled', find out time out experiments\n        Then call function to recycle them\n\n        :return:\n        "
    self.log.debug('start checking recyclable experiment ... ')
    for hackathon in self.hackathon_manager.get_recyclable_hackathon_list():
        try:
            mins = self.hackathon_manager.get_recycle_minutes(hackathon)
            exprs = Experiment.objects(create_time__lt=(self.util.get_now() - timedelta(minutes=mins)), status=EStatus.RUNNING, hackathon=hackathon)
            for expr in exprs:
                self.__recycle_expr(expr)
        except Exception as e:
            self.log.error(e)

dataset/ETHPy150Open msopentechcn/open-hackathon/open-hackathon-server/src/hackathon/expr/expr_mgr.py ExprManager.scheduler_recycle_expr/original