final save code
This commit is contained in:
@@ -0,0 +1,68 @@
|
||||
import time
|
||||
from redis.lock import Lock
|
||||
import logging
|
||||
|
||||
QUEUE_NAME = 'task_queue'
|
||||
# 配置
|
||||
REDIS_HOST = 'r-2zevknj33pkqrrbzjp.redis.rds.aliyuncs.com'
|
||||
REDIS_PORT = 6379
|
||||
REDIS_DB = 0
|
||||
DEFAULT_TIMEOUT = (60+10)
|
||||
GPU_SERVER_TIME_OUT = 60
|
||||
GPU_SERVER_LIST = 'gpu_server_list_key'
|
||||
SERVER_LOG_ = "server_log"
|
||||
SERVER_LOG_EVENT_LEN = 20
|
||||
KEY_QUEUE_LOCK_NAME = 'KEY_QUEUE_LOCK_NAME'
|
||||
SERVER_LIST_LOCK_NAME = 'SERVER_LIST_LOCK_NAME'
|
||||
SERVER_LIST_LOG_LOCK_NAME = 'SERVER_LIST_LOG_LOCK_NAME'
|
||||
|
||||
# 创建 logger
|
||||
logger = logging.getLogger(__name__)
|
||||
logger.setLevel(logging.INFO) # 设置 logger 的级别
|
||||
|
||||
# 创建文件 handler
|
||||
file_handler = logging.FileHandler('/var/log/meidaojia/config.log')
|
||||
file_handler.setLevel(logging.INFO)
|
||||
file_formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')
|
||||
file_handler.setFormatter(file_formatter)
|
||||
|
||||
# 创建控制台 handler
|
||||
console_handler = logging.StreamHandler()
|
||||
console_handler.setLevel(logging.INFO)
|
||||
console_formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')
|
||||
console_handler.setFormatter(console_formatter)
|
||||
|
||||
# 添加 handlers 到 logger
|
||||
logger.addHandler(file_handler)
|
||||
logger.addHandler(console_handler)
|
||||
|
||||
def acquire_lock(redis_client, lock_name):
|
||||
lock = Lock(
|
||||
redis_client,
|
||||
name=lock_name,
|
||||
timeout=30,
|
||||
blocking_timeout=10
|
||||
)
|
||||
acquired = lock.acquire()
|
||||
if acquired:
|
||||
return lock
|
||||
return None
|
||||
|
||||
|
||||
|
||||
# def acquire_lock(r, acquire_timeout=10):
|
||||
# """获取分布式锁"""
|
||||
# end = time.time() + acquire_timeout
|
||||
# while time.time() < end:
|
||||
# # 使用 SETNX 尝试获取锁
|
||||
# if r.setnx(TASK_REDIS_LOCK_NAME, 1):
|
||||
# # 设置过期时间,防止死锁
|
||||
# r.expire(TASK_REDIS_LOCK_NAME, 10)
|
||||
# return True
|
||||
# time.sleep(0.1)
|
||||
# return False
|
||||
# # return True
|
||||
|
||||
# def release_lock(r):
|
||||
# """释放分布式锁"""
|
||||
# r.delete(TASK_REDIS_LOCK_NAME)
|
||||
Reference in New Issue
Block a user