Senhores,
Preciso criar uma fila para processar registros que estao gravados em um banco de dados.
Tenho uma tabela que recebe varios inserts por segundo e esta tabela tem um campo ativo com o valor 0 por default.
Preciso criar um processo “batch” que leia um numero X de processos, execute um-a-um e ao final atualize o campo ativo=1 para que ele nao mais seja processado.
O problema que encontro eh como controlar a fila. Se eu definir, por exemplo, que vou processar 100 registros simultaneamente nao posso esperar para processar novos registros apenas quando esses 100 terminarem (a preformance seria muito ruim visto que o tempo de cada processo pode variar). Assim que um processo terminar (ou um numero Y de processos) quero colocar mais registros na fila sem processar um mesmo registro mais de uma unica vez.
Alguem pode me dar uma luz em como fazer isso ?
Obrigado,
Gustavo