示例#1
0
def init():
    schedule_job(check_v2_config_job, config.get_v2_config_check_interval())
    schedule_job(traffic_job, config.get_traffic_job_interval())
    reset_day = config.get_reset_traffic_day()
    if reset_day <= 0:
        return
    now = datetime.now()
    next_day = now.date() + timedelta(days=1)
    next_day = datetime.combine(next_day, datetime.min.time())

    Timer((next_day - now).seconds + 5, reset_traffic_job).start()
示例#2
0
文件: router.py 项目: unkosun/v2-ui
import json

from flask import Blueprint, render_template, jsonify, request, Response
from flask_babel import gettext
from datetime import datetime

from base.models import Msg
from base.router import base_bp
from init import db
from util import config, server_info
from util.v2_jobs import v2_config_change
from v2ray.models import Inbound, Customers, Server

v2ray_bp = Blueprint('v2ray', __name__, url_prefix='/v2ray')

__check_interval = config.get_v2_config_check_interval()


@v2ray_bp.route('/', methods=['GET'])
def index():
    from init import common_context
    from util import cmd2node
    status = json.dumps(server_info.get_status(), ensure_ascii=False)
    nodesStatus = json.dumps(cmd2node.list_nodes_status(), ensure_ascii=False)
    return render_template('v2ray/index.html',
                           **common_context,
                           status=status,
                           nodesStatus=nodesStatus)


@v2ray_bp.route('/accounts/', methods=['GET'])
示例#3
0
def init():
    schedule_job(check_v2_config_job, config.get_v2_config_check_interval())
    schedule_job(traffic_job, config.get_traffic_job_interval())
示例#4
0
def init():
    schedule.every().day.at("00:00").do(update_config)
    schedule_job(check_v2_config_job, config.get_v2_config_check_interval())
    schedule_job(traffic_job, config.get_traffic_job_interval())
示例#5
0
import threading

from apscheduler.triggers.interval import IntervalTrigger

from init import db
from util import config, v2_util
from util.schedule_util import scheduler
from v2ray.models import Inbound

__lock = threading.Lock()


@scheduler.scheduled_job(
    trigger=IntervalTrigger(seconds=config.get_v2_config_check_interval()))
def check_v2_config_job():
    with __lock:
        v2_config = v2_util.gen_v2_config_from_db()
        v2_util.write_v2_config(v2_config)


@scheduler.scheduled_job(
    trigger=IntervalTrigger(seconds=config.get_traffic_job_interval()))
def traffic_job():
    with __lock:
        if not v2_util.is_running():
            return
        traffics = v2_util.get_inbounds_traffic()
        if not traffics:
            return
        for traffic in traffics:
            upload = int(traffic.get('uplink', 0))
示例#6
0
文件: v2_jobs.py 项目: liu2018/v2-ui
def init():
    schedule_job(check_v2_config_job, config.get_v2_config_check_interval())
    schedule_job(traffic_job, config.get_traffic_job_interval())
    schedule_job(check_v2ay_alive_job, 40)
    schedule_job(check_v2ray_version_job, 1800)