MigrationExitRunner.java
package com.edtech.config;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.CommandLineRunner;
import org.springframework.core.Ordered;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;
/**
* Força o encerramento do Cloud Run Job de migração do banco de dados após a inicialização do
* contexto (e execução do Flyway).
*/
@Component
@Order(Ordered.HIGHEST_PRECEDENCE)
public class MigrationExitRunner implements CommandLineRunner {
@Value("${spring.main.web-application-type:servlet}")
private String webAppType;
@Override
public void run(String... args) {
if ("none".equalsIgnoreCase(webAppType)) {
System.out.println(
"Migration Cloud Run Job concluído com sucesso. Forçando saída para evitar timeout...");
System.exit(0);
}
}
}