|
@@ -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'))
|
|
|
|