このコミットが含まれているのは:
2025-12-02 12:39:26 +09:00
コミット 11551b8abc
+26 -10
ファイルの表示
@@ -164,7 +164,11 @@ def fetch_kiriban_list (
env = os.environ,
capture_output = True,
text = True)
kl: list[list[int | str]] = json.loads (result.stdout)
kl: list[list[int | str]]
try:
kl = json.loads (result.stdout)
except Exception:
kl = []
return [(cast (int, k[0]), video_info, str_to_datetime (cast (str, k[2])))
for k in kl
@@ -287,14 +291,25 @@ async def report_hot_spring_time (
async def reconnect_db (
) -> None:
while True:
await asyncio.sleep (1800)
try:
await asyncio.sleep (600)
run_with_mysql_retry (DB.reconnect, 'mysql')
def ensure_mysql_alive ():
conn = DB.connection ('mysql').get_connection ()
conn.ping (True)
def run_with_mysql_retry (fn, *args, **kwargs):
try:
ensure_mysql_alive ()
return fn (*args, **kwargs)
except Exception as ex:
if getattr (ex, 'args', [None])[0] in (2006, 2013):
DB.reconnect ('mysql')
except Exception as e:
if getattr (e, 'args', [None])[0] == 2006:
print ('堕ちたな(確信).')
else:
raise
ensure_mysql_alive ()
return fn (*args, **kwargs)
raise
def _add_query (
@@ -310,8 +325,9 @@ def _add_query (
query.model = GPTModel.GPT4_O.value
query.sent_at = datetime.now ()
query.answered = False
query.transfer_data = transfer_data
query.save ()
if transfer_data is not None:
query.transfer_data = transfer_data
run_with_mysql_retry (query.save)
def _format_elapsed (