parent
5a6f068b0b
commit
fc972431ec
@ -0,0 +1,70 @@
|
|||||||
|
import threading
|
||||||
|
import time
|
||||||
|
import random
|
||||||
|
import string
|
||||||
|
from flask import jsonify
|
||||||
|
|
||||||
|
# 模拟队列
|
||||||
|
virus_queue = []
|
||||||
|
bugs_queue = []
|
||||||
|
|
||||||
|
virus_prefix = "py-virus"
|
||||||
|
bugs_prefix = "sec-bugs"
|
||||||
|
|
||||||
|
def generate_random_string(length=10):
|
||||||
|
letters = string.ascii_lowercase
|
||||||
|
return ''.join(random.choice(letters) for _ in range(length))
|
||||||
|
|
||||||
|
def initialize_virus_queue():
|
||||||
|
global virus_queue
|
||||||
|
for _ in range(5):
|
||||||
|
random_string = generate_random_string()
|
||||||
|
virus_queue.append(f'{virus_prefix}-{random_string}')
|
||||||
|
|
||||||
|
def initialize_bugs_queue():
|
||||||
|
global bugs_queue
|
||||||
|
for _ in range(5):
|
||||||
|
random_string = generate_random_string()
|
||||||
|
bugs_queue.append(f'{bugs_prefix}-{random_string}')
|
||||||
|
|
||||||
|
# 定时检查病毒和漏洞数量
|
||||||
|
def check_queue_length():
|
||||||
|
while True:
|
||||||
|
time.sleep(600) # 每10分钟检查一次
|
||||||
|
if len(virus_queue) < 5:
|
||||||
|
for _ in range(5 - len(virus_queue)):
|
||||||
|
random_string = generate_random_string()
|
||||||
|
virus_queue.append(f'{virus_prefix}-{random_string}')
|
||||||
|
|
||||||
|
if len(bugs_queue) < 5:
|
||||||
|
for _ in range(5 - len(bugs_queue)):
|
||||||
|
random_string = generate_random_string()
|
||||||
|
bugs_queue.append(f'{bugs_prefix}-{random_string}')
|
||||||
|
|
||||||
|
|
||||||
|
def get_virus_queue_data():
|
||||||
|
return jsonify({"virus_queue": virus_queue})
|
||||||
|
|
||||||
|
def delete_virus_queue_data(names_list):
|
||||||
|
global virus_queue
|
||||||
|
for name in names_list:
|
||||||
|
virus_queue = [data for data in virus_queue if data != name]
|
||||||
|
return jsonify({"message": "Data deleted successfully"})
|
||||||
|
|
||||||
|
def get_bugs_queue_data():
|
||||||
|
return jsonify({"bugs_queue": bugs_queue})
|
||||||
|
|
||||||
|
def delete_bugs_queue_data(names_list):
|
||||||
|
global bugs_queue
|
||||||
|
for name in names_list:
|
||||||
|
bugs_queue = [data for data in bugs_queue if data != name]
|
||||||
|
return jsonify({"message": "Data deleted successfully"})
|
||||||
|
|
||||||
|
# 初始化队列
|
||||||
|
initialize_virus_queue()
|
||||||
|
initialize_bugs_queue()
|
||||||
|
|
||||||
|
# 启动后台线程
|
||||||
|
thread = threading.Thread(target=check_queue_length)
|
||||||
|
thread.daemon = True
|
||||||
|
thread.start()
|
Loading…
Reference in new issue