Мой Node.js сервер выполняет очень ресурсоемкую функцию, которая зависает на несколько секунд.
Эта функция импортируется из внешнего файла и сама импортирует несколько вспомогательных функций из множества других внешних файлов.
Итак, когда я попытался запустить это:
workerpool.exec(fn, [...args]).then(result => // ...
Он выдал ошибку о том, что одна из вспомогательных функций была undefined
.
Пакет действительно предупреждает, что функции и аргументы должны быть сериализуемыми.
Эта специфическая c функция очень распараллеливаема; он просто суммирует результаты вызова отдельной функции внутри al oop несколько тысяч раз.
Но эта конкретная функция c зависит от импортированных функций ... поэтому я думаю, что получу ту же ошибку, если Я перемещаю элементы workerpool.exec
в основную функцию.
Мой вопрос: как я могу распараллелить al oop, который вызывает функцию, которая зависит от импорта из нескольких других файлов?
Является ли буквально мой единственный вариант объединить файлы, которые экспортируют, в один файл с кодом workerpool.exec
?
Или этого недостаточно, и распараллеленная функция просто не может вызывать другие функции?