|
@@ -29,7 +29,7 @@ class AutoReplyCardsMonitorMapper(AutoReplyCardsMonitorConst):
|
|
|
query = """
|
|
query = """
|
|
|
SELECT partner_name, partner_id, gh_id, status, follow_status
|
|
SELECT partner_name, partner_id, gh_id, status, follow_status
|
|
|
FROM cooperate_accounts
|
|
FROM cooperate_accounts
|
|
|
- WHERE account_name = %s;
|
|
|
|
|
|
|
+ WHERE account_name = %s AND status = 1;
|
|
|
"""
|
|
"""
|
|
|
return await self.pool.async_fetch(query=query, params=(account_name,))
|
|
return await self.pool.async_fetch(query=query, params=(account_name,))
|
|
|
|
|
|
|
@@ -161,18 +161,23 @@ class AutoReplyCardsMonitorMapper(AutoReplyCardsMonitorConst):
|
|
|
async def store_extract_result(self, query, row_table):
|
|
async def store_extract_result(self, query, row_table):
|
|
|
return await self.pool.async_save(query=query, params=row_table)
|
|
return await self.pool.async_save(query=query, params=row_table)
|
|
|
|
|
|
|
|
- # 更新封面下载状态和封面信息
|
|
|
|
|
|
|
+ # 更新封面下载状态和封面信息(失败时自增重试计数,成功时重置)
|
|
|
async def update_cover_info(
|
|
async def update_cover_info(
|
|
|
self, task_id, position, cover_id, oss_key, cover_status
|
|
self, task_id, position, cover_id, oss_key, cover_status
|
|
|
):
|
|
):
|
|
|
query = """
|
|
query = """
|
|
|
UPDATE cooperate_auto_reply_detail
|
|
UPDATE cooperate_auto_reply_detail
|
|
|
- SET card_cover_id = %s, card_cover = %s, cover_status = %s
|
|
|
|
|
|
|
+ SET card_cover_id = %s, card_cover = %s, cover_status = %s,
|
|
|
|
|
+ cover_retry_cnt = CASE WHEN %s = %s THEN cover_retry_cnt + 1 ELSE 0 END
|
|
|
WHERE task_id = %s AND position = %s
|
|
WHERE task_id = %s AND position = %s
|
|
|
"""
|
|
"""
|
|
|
return await self.pool.async_save(
|
|
return await self.pool.async_save(
|
|
|
query=query,
|
|
query=query,
|
|
|
- params=(cover_id, oss_key, cover_status, task_id, position),
|
|
|
|
|
|
|
+ params=(
|
|
|
|
|
+ cover_id, oss_key, cover_status,
|
|
|
|
|
+ cover_status, self.CoverStatus.FAILED,
|
|
|
|
|
+ task_id, position,
|
|
|
|
|
+ ),
|
|
|
)
|
|
)
|
|
|
|
|
|
|
|
# 从 growth 数据库获取账号信息,并且存储在 cooperate_accounts 表中
|
|
# 从 growth 数据库获取账号信息,并且存储在 cooperate_accounts 表中
|
|
@@ -182,7 +187,7 @@ class AutoReplyCardsMonitorMapper(AutoReplyCardsMonitorConst):
|
|
|
t1.name AS account_name, t1.gh_id
|
|
t1.name AS account_name, t1.gh_id
|
|
|
FROM content_platform_gzh_account t1 JOIN content_platform_account t2
|
|
FROM content_platform_gzh_account t1 JOIN content_platform_account t2
|
|
|
ON t1.create_account_id = t2.id
|
|
ON t1.create_account_id = t2.id
|
|
|
- WHERE t1.name = %s;
|
|
|
|
|
|
|
+ WHERE t1.name = %s AND t1.status = 1;
|
|
|
"""
|
|
"""
|
|
|
fetch_response = await self.pool.async_fetch(
|
|
fetch_response = await self.pool.async_fetch(
|
|
|
query=fetch_query, db_name="growth", params=(account_name,)
|
|
query=fetch_query, db_name="growth", params=(account_name,)
|
|
@@ -215,12 +220,13 @@ class AutoReplyCardsMonitorMapper(AutoReplyCardsMonitorConst):
|
|
|
"""
|
|
"""
|
|
|
return await self.pool.async_fetch(query=query, params=(root_source_id,))
|
|
return await self.pool.async_fetch(query=query, params=(root_source_id,))
|
|
|
|
|
|
|
|
- # 获取封面下载失败的记录
|
|
|
|
|
|
|
+ # 获取封面下载失败的记录(最多重试3次)
|
|
|
async def get_failed_cover_records(self):
|
|
async def get_failed_cover_records(self):
|
|
|
query = """
|
|
query = """
|
|
|
SELECT task_id, position, task_result
|
|
SELECT task_id, position, task_result
|
|
|
FROM cooperate_auto_reply_detail
|
|
FROM cooperate_auto_reply_detail
|
|
|
- WHERE cover_status IN (%s, %s);
|
|
|
|
|
|
|
+ WHERE cover_status IN (%s, %s)
|
|
|
|
|
+ AND cover_retry_cnt < 3;
|
|
|
"""
|
|
"""
|
|
|
return await self.pool.async_fetch(
|
|
return await self.pool.async_fetch(
|
|
|
query=query, params=(self.CoverStatus.INIT, self.CoverStatus.FAILED)
|
|
query=query, params=(self.CoverStatus.INIT, self.CoverStatus.FAILED)
|