|
|
@@ -7,7 +7,8 @@ import time
|
|
|
import traceback
|
|
|
import requests
|
|
|
import threading
|
|
|
-from datetime import datetime
|
|
|
+import redis
|
|
|
+from datetime import datetime, timedelta
|
|
|
from concurrent.futures import ThreadPoolExecutor, as_completed
|
|
|
from xmi_logger import XmiLogger
|
|
|
import csv
|
|
|
@@ -526,7 +527,7 @@ def _process_one_task(row, runner):
|
|
|
drop_price_change_upper = float(task.get("drop_price_change_upper")) # 降价的最小幅度
|
|
|
drop_price_change_lower = float(task.get("drop_price_change_lower"))
|
|
|
|
|
|
- max_threshold = round(drop_price_change_upper * runner.rate * 0.8) # 降价阈值要按汇率转人民币(四舍五入到整数)
|
|
|
+ max_threshold = round(drop_price_change_upper * runner.rate * 1.0) # 降价阈值要按汇率转人民币(四舍五入到整数)
|
|
|
|
|
|
result = results[0]
|
|
|
# adult_price = result.get("adult_price")
|
|
|
@@ -602,6 +603,20 @@ def sync_policy(payload):
|
|
|
return resp_json
|
|
|
|
|
|
|
|
|
+def time_handle():
|
|
|
+ now_time = datetime.now()
|
|
|
+ next_time = now_time + timedelta(hours=1)
|
|
|
+ next_ts = int(next_time.timestamp())
|
|
|
+
|
|
|
+ expire_at = next_time + timedelta(minutes=1)
|
|
|
+ ttl_seconds = int((expire_at - now_time).total_seconds())
|
|
|
+ if ttl_seconds <= 0:
|
|
|
+ ttl_seconds = 1
|
|
|
+
|
|
|
+ redis_client = redis.Redis(host='192.168.20.98', port=6379, db=0)
|
|
|
+ lock_key = "vj_next_pred_time"
|
|
|
+ redis_client.set(lock_key, next_ts, ex=ttl_seconds)
|
|
|
+
|
|
|
|
|
|
def main():
|
|
|
|
|
|
@@ -664,6 +679,13 @@ def main():
|
|
|
logger.error(f"{traceback.format_exc()}")
|
|
|
|
|
|
logger.info(f"keep_info_end: {len(keep_info_end)}")
|
|
|
+
|
|
|
+ try:
|
|
|
+ time_handle()
|
|
|
+ logger.info(f"存redis时间成功")
|
|
|
+ except Exception as e:
|
|
|
+ logger.error(f"存redis时间失败: {e}")
|
|
|
+
|
|
|
# 将 keep_info_end 写入到文件csv 文件 嵌套结构要处理 提供下载页面 (历史数据需要保留)
|
|
|
output_dir = "/home/node04/descending_cabin_files_vj"
|
|
|
os.makedirs(output_dir, exist_ok=True)
|