Tengo un método que contiene un bucle for y tengo el proceso principal y los procesos secundarios llamando a este método.
20404 create: 2022-01-14 05:44:10.073 20404 create: 2022-01-14 05:44:10.075 20404 create: 2022-01-14 05:44:10.077 20404 create: 2022-01-14 05:44:10.077 send: 2022-01-14 05:44:10.078 send: 2022-01-14 05:44:10.079 send: 2022-01-14 05:44:10.079 16228 get 2022-01-14 05:44:10.081 11976 get 2022-01-14 05:44:10.081 9692 get 2022-01-14 05:44:10.082 11976 create: 2022-01-14 05:44:10.087 9692 create: 2022-01-14 05:44:10.087 16228 create: 2022-01-14 05:44:10.087 16228 create: 2022-01-14 05:44:10.113 9692 create: 2022-01-14 05:44:10.114 16228 create: 2022-01-14 05:44:10.116 11976 create: 2022-01-14 05:44:10.116 9692 create: 2022-01-14 05:44:10.117 16228 create: 2022-01-14 05:44:10.119 11976 create: 2022-01-14 05:44:10.121 11976 create: 2022-01-14 05:44:10.123 Arriba están los registros, send es cuando el proceso principal envía la instrucción al proceso secundario.
Las primeras cuatro líneas se imprimen desde el proceso principal, 2 ms en promedio entre cada iteración
get es cuando un proceso hijo recibe la instrucción.
El primer número es la identificación del proceso. Como puedes ver en esta parte:
11976 create: 2022-01-14 05:44:10.087 9692 create: 2022-01-14 05:44:10.087 16228 create: 2022-01-14 05:44:10.087 16228 create: 2022-01-14 05:44:10.113 9692 create: 2022-01-14 05:44:10.114 16228 create: 2022-01-14 05:44:10.116El intervalo de tiempo entre esas dos iteraciones es enorme en comparación con los intervalos de tiempo de descanso. ¿Alguna idea de por qué sucede esto?
Cuando creé por primera vez el proceso secundario, la primera ejecución siempre fue lenta, por lo que tuve que enviar algunos datos ficticios para que se ejecutara varias veces antes de recibir los datos reales. De esa manera, cuando llegan los datos reales de la solicitud, los intervalos de tiempo entre las iteraciones se vuelven pequeños y consistentes. Tal vez es solo un problema de nodo