Мек не позволяет моим процессам собирать мусор
Я использую Meck для имитации поведения некоторых внешних сервисов, которые у меня есть, исключительно для нагрузочного тестирования и профилирования моей системы, но это вызывает у меня некоторые проблемы. в основном у меня много рабочих процессов, которые порождаются через 10 секунд, если их ничто не вызывает, но когда у меня есть meck, переопределяющий вызов моих внешних процессов, они, кажется, прерывают время ожидания и завершают работу, как и ожидалось, но они никогда не собираются мусором, вызывая использование памяти моих приложений просто продолжает расти, так как появляется все больше рабочих
1 ответ
Кажется, это связано с тем, как Erlang работает с двоичными файлами и ссылками: http://dieswaytoofast.blogspot.co.uk/2012/12/erlang-binaries-and-garbage-collection.html
мое решение состоит в том, чтобы просто иметь макрос, определяющий функцию, которую следует использовать, и переключение ее на ложную функцию во время компиляции, похоже, пока работает