Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Mais de 1000 chamadas de API com 1 cron job?


Se você realmente precisar fazer essa chamada de API para cada usuário periodicamente, eu configuraria de maneira diferente:
  • Adicione duas colunas à sua tabela:lastUpdated e isBeingProcessed (ou algo semelhante);
  • Crie um script que execute a cada X (1?) minutos usando cron;
  • No seu script, obtenha os XX (10?) registros com o lastUpdated mais antigo data e que não está sendo processado e defina o isBeingProcessed sinalizador;
  • À medida que cada chamada de API for concluída, atualize as informações do usuário, incluindo o lastUpdated data ou hora de desarmar o isBeingProcessed sinalizador;

Dependendo do que o seu servidor aguenta e do que a API permite, você pode até configurá-lo para que vários jobs sejam executados simultaneamente/sobrepostos, reduzindo muito o tempo total para atualizar muito.