Exemplo n.º 1
0
def server_risk_validate():
    """
        检查服务器状态
    """
    trade_servers_list = server_constant.get_trade_servers()
    from eod_aps.job.server_risk_backup_job import server_risk_validate_job
    server_risk_validate_job(trade_servers_list)
Exemplo n.º 2
0
def start_service_check(job_name):
    if job_name == 'start_server_am':
        server_list = server_constant.get_trade_servers()
    elif job_name == 'start_server_pm':
        server_list = server_constant.get_night_session_servers()
    else:
        email_utils2.send_email_group_all(
            '[ERROR]After Check_Job:%s' % job_name,
            'Undefined Job Name:%s' % job_name)
        return

    server_service_dict = dict()
    server_host = server_constant.get_server_model('host')
    session_common = server_host.get_db_session('common')
    query = session_common.query(AppInfo)
    for sever_info_db in query:
        server_service_dict.setdefault(sever_info_db.server_name,
                                       []).append(sever_info_db.app_name)
    server_host.close()

    error_message_list = []
    for server_name in server_list:
        service_status_dict = __query_server_service_status(
            server_name, server_service_dict[server_name])
        for service_name, detached_flag in service_status_dict.items():
            if not detached_flag:
                error_message_list.append('Server:%s Service:%s Is Inactive' %
                                          (server_name, service_name))

    if error_message_list:
        email_utils2.send_email_group_all(
            '[ERROR]After Check_Job:%s' % job_name,
            '\n'.join(error_message_list))
Exemplo n.º 3
0
def db_pre_update_am():
    """
        数据库预更新操作a.更新南华账号的enable值
    """
    trade_servers_list = server_constant.get_trade_servers()
    from eod_aps.job.db_pre_update_job import db_pre_update_job
    db_pre_update_job(trade_servers_list)
Exemplo n.º 4
0
def server_connection_monitor_am():
    """
        检测服务器VPN是否正常
    """
    # 校验GUI获取外网ip的网址
    trade_servers_list = server_constant.get_trade_servers()
    query_ip_url_check()
    server_connection_monitor_job(trade_servers_list)
    local_server_connection_monitor_job()
Exemplo n.º 5
0
def history_date_file_check():
    """
        检查history_date文件是否正常生成
    """
    trade_servers_list = server_constant.get_trade_servers()
    calendar_server_list = []
    for server_name in trade_servers_list:
        server_model = server_constant.get_server_model(server_name)
        if server_model.is_calendar_server:
            calendar_server_list.append(server_name)
    history_date_file_check_job(calendar_server_list)
Exemplo n.º 6
0
def server_monitor():
    """
        定时检测服务器各服务是否正常
    """
    if int(date_utils.get_today_str("%H%M%S")) < 91000 or int(
            date_utils.get_today_str("%H%M%S")) > 235500:
        return

    night_session_server_list = server_constant.get_night_session_servers()
    trade_servers_list = server_constant.get_trade_servers()
    night_market_flag = date_utils.is_night_market()
    if night_market_flag:
        server_monitor_index_job(night_session_server_list)
    else:
        server_monitor_index_job(trade_servers_list)
Exemplo n.º 7
0
def main_contract_change():
    """
        处理主力合约修改流程
    """
    all_trade_servers_list = server_constant.get_all_trade_servers()
    trade_servers_list = server_constant.get_trade_servers()

    for server_name in trade_servers_list:
        save_pf_position(server_name)
    time.sleep(5)

    main_contract_change_job(all_trade_servers_list)

    for server_name in trade_servers_list:
        save_pf_position(server_name)
Exemplo n.º 8
0
def after_start_check_am():
    """
        系统启动后检查
    """
    cta_server_list = server_constant.get_cta_servers()
    trade_servers_list = server_constant.get_trade_servers()
    # ts_servers = server_constant.get_ts_servers()

    email_message_list = []
    email_message_list.extend(strategy_start_check(cta_server_list))
    email_message_list.extend(order_route_log_check(trade_servers_list))
    email_message_list.extend(service_close_check(trade_servers_list))
    email_message_list.extend(trade_version_check(trade_servers_list))
    # email_message_list.extend(check_ts_order_group(ts_servers))
    email_utils2.send_email_group_all('系统启动后检查', ''.join(email_message_list),
                                      'html')
Exemplo n.º 9
0
def re_update_price_job():
    try:
        re_update_instrument()
        start_update_etf()

        trade_servers_list = server_constant.get_trade_servers()
        fair_price_calculation_job()

        for server_name in trade_servers_list:
            server_service_rum_cmd(server_name, 'MainFrame', 'update pf')
    except Exception:
        error_msg = traceback.format_exc()
        custom_log.log_info_task(error_msg)
        email_utils.send_email_group_all('[Error]re_update_price_job Fail!',
                                         error_msg)
        return make_response(jsonify(code=100, data=u'执行失败'), 200)
    return make_response(jsonify(code=200, data=u'行情更新成功'), 200)
Exemplo n.º 10
0
def query_account_trade_restrictions():
    query_params = request.json
    query_server_name = query_params.get('server_name')
    query_fund_name = query_params.get('fund_name')
    query_ticker = query_params.get('ticker')

    query_result_list = []
    server_account_dict = const.EOD_CONFIG_DICT['server_account_dict']
    for server_name in server_constant.get_trade_servers():
        if query_server_name and query_server_name != server_name:
            continue
        server_model = server_constant.get_server_model(server_name)
        session_portfolio = server_model.get_db_session('portfolio')
        for atr_item in session_portfolio.query(AccountTradeRestrictions):
            if query_ticker and query_ticker.lower(
            ) not in atr_item.ticker.lower():
                continue

            real_account_db = None
            for real_account_item in server_account_dict[server_name]:
                if atr_item.account_id == real_account_item.accountid:
                    real_account_db = real_account_item
                    break
            if query_fund_name and query_fund_name != real_account_db.fund_name:
                continue

            atr_dict = atr_item.to_dict()
            atr_dict['server_name'] = server_name
            atr_dict['fund_name'] = real_account_db.fund_name
            query_result_list.append(atr_dict)

    query_page = int(query_params.get('page'))
    query_size = int(query_params.get('size'))
    total_number = len(query_result_list)
    query_result = {
        'data':
        query_result_list[(query_page - 1) * query_size:query_page *
                          query_size],
        'total':
        total_number,
    }
    return make_response(jsonify(code=200, data=query_result), 200)
Exemplo n.º 11
0
# -*- coding: utf-8 -*-
from eod_aps.model.server_constans import server_constant
import sys
reload(sys)
sys.setdefaultencoding('utf8')

def version_check(server_name_list):
    result_list = []
    for server_name in server_name_list:
        server_model = server_constant.get_server_model(server_name)
        cmd_list = ['cd %s' % server_model.server_path_dict['tradeplat_project_folder'],
                    'ls -l build64_release'
                    ]
        result_str = server_model.run_cmd_str(';'.join(cmd_list))

        result_list.append('%s:\n%s' % (server_name, result_str))
    print '\n'.join(result_list)


if __name__ == '__main__':
    trade_servers_list = server_constant.get_trade_servers()
    version_check(trade_servers_list)
Exemplo n.º 12
0
def db_check_am():
    """
        和网络数据进行比对,校验更新
    """
    trade_servers_list = server_constant.get_trade_servers()
    db_check_job(trade_servers_list)
Exemplo n.º 13
0
def server_disk_clear():
    """
        每周五对各托管服务器上的文件进行清理
    """
    trade_servers_list = server_constant.get_trade_servers()
    server_disk_clear_job(trade_servers_list)
Exemplo n.º 14
0
def tar_tradeplat_log():
    """
        备份tradeplat日志文件
    """
    trade_servers_list = server_constant.get_trade_servers()
    tar_tradeplat_log_job(trade_servers_list)
Exemplo n.º 15
0
def order_trade_backup():
    """
        将order和trade保存至对应的history表中
    """
    trade_servers_list = server_constant.get_trade_servers()
    order_trade_backup_job(trade_servers_list)
Exemplo n.º 16
0
def download_trade_server_log():
    """
        下载tradeplat日志文件
    """
    trade_servers_list = server_constant.get_trade_servers()
    download_trade_server_log_job(trade_servers_list)
Exemplo n.º 17
0
def zip_log_file():
    trade_servers_list = server_constant.get_trade_servers()
    zip_log_file_job(trade_servers_list)
Exemplo n.º 18
0
def server_status_check():
    """
        检查服务器状态
    """
    trade_servers_list = server_constant.get_trade_servers()
    server_status_monitor_job(trade_servers_list)
Exemplo n.º 19
0
def db_pre_update_pm():
    trade_servers_list = server_constant.get_trade_servers()
    from eod_aps.job.db_pre_update_job import db_pre_update_job
    db_pre_update_job(trade_servers_list)
Exemplo n.º 20
0
def db_backup():
    from eod_aps.job.db_backup_job import db_backup_job
    trade_servers_list = server_constant.get_trade_servers()
    db_backup_job(trade_servers_list)