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