Tengo un bot que ejecuta un bucle que puede llegar hasta más de 2000 mil ciclos, sin embargo, este se queda paralizado hasta el ciclo 300 sin ninguna razón aparente, porque en la log de consola que hay en rocketbot, no muestra ningún mensaje de error.
Creía que era por problemas de uso de ram, pero al ejecutar el proceso con el administrador de tareas abierto, me percate que el uso de ram es constante, es decir no aumentaba y tampoco disminuía. Sin embargo, investigue que los problemas pueden ser por fragmentación de la memoria ram y que pese no llegar al 100% de uso de ram, podría suceder que la asignación de memoría si lograba llenarse y por eso se llegaba a paralizar, debido a esto le pedí la generación de un código que borrase el uso de memoria fragmentada.
El código es el siguiente:
Sin este script ejecutándose al final de cada ciclo (si es que se llego a ejecutar 15 ciclos anteriormente), el bot solo llegaba a completar entre 17-42 ciclos, lo cual es muy bajo a comparación de con este, pero el problema es que pese esta optimización no se logra completar los 1200 ciclos que tengo (en otros casos pueden ser más de 2000) y solo se queda hasta 300 (específicamente 349).
Adjunto imágenes para que puedan ver los procesos del bot





Se ha omitido la captura de algunos procesos porque son lo mismo que los anteriores y lo único que cambia son la declaración de variables. Además como se puede apreciar se ha desactivado la declaración de variables y se ha cambiado por la alternativa de declararlo con código python, esto es porque con declaración de variables solo llegaba a 80-120 ciclos.
Muestro una captura de log de consola.

¿Alguien ha pasado por un problema similar? Si es así, ¿Cómo lo lograron solucionar? ¿Saben por qué realmente sucede esto? Gracias por su tiempo.
Buen día Roberto. Esto le sucede en desarrollo o en producción?
Si es en desarrollo, le comento que Studio está pensado para ejecutar pruebas en dicho entorno, no para ejecutar procesos por tanto tiempo como si estuviese en producción.
Si cuenta con una licencia de producción, pruebe una ejecución allí para verificar el comportamiento. Quedamos atentos!
Un cordial saludo.
Quiero notificar que pase de utilizar for a while, el proceso va algo más rápido, pero ahora dura muchísimo menos, siendo posible que la razón del problema sea por el propio software de rocketbot a que por otros temas como la licencia, teniendo en cuenta que tengo otros botos que demoran más de 9 horas de proceso y si logran terminar todo el ciclo, estos bots incluso tienen más procesos, pero tienen como un delay establecido de manera manual.
Puede que para mejorar la consistencia del bot actual presentado, se utilice tiempos de espera colocado apropósito, sin embargo, los planes de rocketbot establecen horas máximas de ejecución por lo que no sería una respuesta aceptable, ya que necesito completar el proceso lo más rápido posible para evitar llegar a ese limite, pero el software de rocketbot no puede ejecutarse de manera normal sin delays, porque por un tema de memoria no es posible de completar todo el proceso y se queda congelado.
Un cordial saludo.
Estoy volviendo a realizar la adquisición de Rocketbot, sin embargo, quiero notificar que este problema que menciono no me sucedía con otros Bots ejecutados en modo prueba, los cuales llegaban a demorar más de 9 horas de proceso y tenían mayor consumo de memoria ram, en este caso son 3 horas de proceso en el cual se congela y el consumo de ram es mucho menor.