예제 #1
0
 async def load_schedule_or_create_blank():
     # 存放在本地sqlite文件中 持续化
     job_stores = {
         'default': SQLAlchemyJobStore(url='sqlite:///jobs.sqlite')
     }
     schedule = AsyncIOScheduler(jobstores=job_stores)
     schedule.start()
     app.state.schedule = schedule
     logger.info("Created Schedule Object")
예제 #2
0
def __accept_mission(country_id, plane_id, mission_id, mission_type):
    bonus = None
    logger.info('accept mission: {} with plane {}'.format(mission_id, plane_id))
    page = post_request(
        GENERIC_ACCEPT_MISSION.format(mission_type=mission_type, mission_id=mission_id, country_id=country_id),
        {'id_avion': str(plane_id)})
    # Be careful, if re.findall()[0], may introduce list index out of range exception!
    temp_bonus = extract_bonus_from_page(page)
    if len(temp_bonus) == 1:
        bonus = int(temp_bonus[0][0] + temp_bonus[0][1])
    return bonus
예제 #3
0
def view_generic(_, view_name):
    """ First parameter request is not used. Replaced by _ for sonar """
    requested_view = 'view_{}()'.format(view_name)
    action_url = 'Requested view: {}'.format(requested_view)
    try:
        logger.info(action_url)
        eval(requested_view)
        logger.info('Successful')
    except Exception as e:
        exception_text = traceback.format_exc()
        logger.error(exception_text)
        notify('FM: Exception', 'Exception:\n{}'.format(exception_text))
        raise e
    finally:
        save_session_to_db()
    return HttpResponse('started')
예제 #4
0
 def init_redis_connect(self) -> None:
     """
     初始化连接
     :return:
     """
     try:
         self._redis_client = redis.Redis(
             host=self.host,
             port=self.port,
             password=self.password,
             db=self.db,
             socket_timeout=5,
             decode_responses=True  # 解码
         )
         if not self._redis_client.ping():
             logger.info("连接redis超时")
             sys.exit()
     except (redis.AuthenticationError, Exception) as e:
         logger.info(f"连接redis异常 {e}")
         sys.exit()
예제 #5
0
def view_test():
    db_missions = Mission.objects.all()
    logger.info("total {}".format(len(db_missions)))
    logger.info("reput > 0 {}".format(len(db_missions.filter(reputation_per_hour__gt=0))))
    logger.info("reput > 0 {}".format(len(db_missions.filter(reputation_per_hour__gte=5))))
    dm_missions = db_missions.filter(reputation_per_hour__gte=5)
    filtered = []
    for i in dm_missions:
        if i.mission_type == "4" and i.km_nb < 2250:
            filtered.append(i)
        elif i.mission_type == "5" and i.km_nb < 11019 / 2:
            filtered.append(i)
    logger.info("hello {}".format(len(filtered)))
예제 #6
0
 def __init__(self, missions):
     self.airport = self.build_airport()
     self.planes = self.build_planes()
     self.ongoing_missions = self.get_ongoing_missions()
     self.missions = missions
     logger.info('Airport {}'.format(self.airport.airport_name))