Diciamo che ho un processo batch che viene eseguito 4 volte per ciclo e che deve eseguire un totale di 9 elementi.
Esempio:
- Iterazione 1 esegue 4 elementi di 9, lasciando 5 a sinistra
- L'iterazione 2 viene eseguita 4 volte su 9, lasciando 1 a sinistra
- Iteration 3 esegue solo 1 elemento perché è tutto ciò che è rimasto.
Attualmente lo gestisco con un'operazione di modulo:
$number_of_items = 9
$number_of_executions_per_loop = 4
For $iteration = 1 to $number_of_items Step $number_of_executions_per_loop
If $number_of_items < ($iteration * $number_of_executions_per_loop) Then
$iteration_execution_count = MOD($number_of_items,$number_of_executions_per_loop)
Else
$iteration_execution_count = $number_of_executions_per_loop
EndIf
ExecuteJobsFunction($iteration_execution_count)
Next
Mi chiedo se ci sia un modo più pulito per gestire questi tipi di scenari che vedo spesso. C'è un trucco matematico che può essere fatto per determinare quanti elementi da eseguire?