update the scheduler of update_tidb_serverless_status_task to 1/10min (#11135)

This commit is contained in:
Jyong 2024-11-27 17:41:00 +08:00 committed by GitHub
parent 33d6d26bbf
commit 41c6bf5fe4
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 12 additions and 15 deletions

View File

@ -86,7 +86,7 @@ def init_app(app: Flask) -> Celery:
}, },
"update_tidb_serverless_status_task": { "update_tidb_serverless_status_task": {
"task": "schedule.update_tidb_serverless_status_task.update_tidb_serverless_status_task", "task": "schedule.update_tidb_serverless_status_task.update_tidb_serverless_status_task",
"schedule": crontab(minute="30", hour="*"), "schedule": timedelta(minutes=10),
}, },
"clean_messages": { "clean_messages": {
"task": "schedule.clean_messages.clean_messages", "task": "schedule.clean_messages.clean_messages",

View File

@ -12,21 +12,18 @@ from models.dataset import TidbAuthBinding
def update_tidb_serverless_status_task(): def update_tidb_serverless_status_task():
click.echo(click.style("Update tidb serverless status task.", fg="green")) click.echo(click.style("Update tidb serverless status task.", fg="green"))
start_at = time.perf_counter() start_at = time.perf_counter()
while True: try:
try: # check the number of idle tidb serverless
# check the number of idle tidb serverless tidb_serverless_list = TidbAuthBinding.query.filter(
tidb_serverless_list = TidbAuthBinding.query.filter( TidbAuthBinding.active == False, TidbAuthBinding.status == "CREATING"
TidbAuthBinding.active == False, TidbAuthBinding.status == "CREATING" ).all()
).all() if len(tidb_serverless_list) == 0:
if len(tidb_serverless_list) == 0: return
break # update tidb serverless status
# update tidb serverless status update_clusters(tidb_serverless_list)
iterations_per_thread = 20
update_clusters(tidb_serverless_list)
except Exception as e: except Exception as e:
click.echo(click.style(f"Error: {e}", fg="red")) click.echo(click.style(f"Error: {e}", fg="red"))
break
end_at = time.perf_counter() end_at = time.perf_counter()
click.echo( click.echo(