瀏覽代碼

fix: fix-app-site-missing command (#5714)

tags/0.6.12
takatost 1 年之前
父節點
當前提交
8e5569f773
沒有連結到貢獻者的電子郵件帳戶。
共有 1 個檔案被更改,包括 21 行新增14 行删除
  1. 21
    14
      api/commands.py

+ 21
- 14
api/commands.py 查看文件

@@ -593,17 +593,22 @@ def fix_app_site_missing():
"""
click.echo(click.style('Start fix app related site missing issue.', fg='green'))

failed_app_ids = []
while True:
try:
sql = """select apps.id as id from apps left join sites on sites.app_id=apps.id
sql = """select apps.id as id from apps left join sites on sites.app_id=apps.id
where sites.id is null limit 1000"""
with db.engine.begin() as conn:
rs = conn.execute(db.text(sql))
with db.engine.begin() as conn:
rs = conn.execute(db.text(sql))

processed_count = 0
for i in rs:
processed_count += 1
app_id = str(i.id)

if app_id in failed_app_ids:
continue

processed_count = 0
for i in rs:
processed_count += 1
app_id = str(i.id)
try:
app = db.session.query(App).filter(App.id == app_id).first()
tenant = app.tenant
if tenant:
@@ -615,13 +620,15 @@ where sites.id is null limit 1000"""
account = accounts[0]
print("Fix app {} related site missing issue.".format(app.id))
app_was_created.send(app, account=account)
except Exception as e:
failed_app_ids.append(app_id)
click.echo(click.style('Fix app {} related site missing issue failed!'.format(app_id), fg='red'))
logging.exception(f'Fix app related site missing issue failed, error: {e}')
continue

if not processed_count:
break

if not processed_count:
break
except Exception as e:
click.echo(click.style('Fix app related site missing issue failed!', fg='red'))
logging.exception(f'Fix app related site missing issue failed, error: {e}')
continue

click.echo(click.style('Congratulations! Fix app related site missing issue successful!', fg='green'))


Loading…
取消
儲存