|
0 / 0 / 0
Регистрация: 15.06.2022
Сообщений: 6
|
|
Запуск длительных задач через веб-интерфейс, их параллельное выполнение19.06.2024, 17:55. Показов 693. Ответов 12
Метки нет (Все метки)
Всем добра!
У меня есть сервер: NGINX + NodeJS + Express. Там же собрана и работает админка, суть которой должна заключаться в том, чтобы: 1) просматривать список доступных задач по обработки данных. 2) запускать, либо останавливать ту или иную задачу. 3) видеть статус каждой задачи. Отдельная задача по обработки данных, может длиться несколько часов.. а все запущенные задачи при этом должны выполняться параллельно. Собственно вопрос: как организовать работу таких задачи?.. подозреваю, что нужно запускать системные процессы, но может быть в ноде есть библиотеки? Прошу навести на верный путь для поиска решения.
0
|
|
| 19.06.2024, 17:55 | |
|
Ответы с готовыми решениями:
12
WCF Распределить выполнение длительных вычислительных задач между двумя сервисами Параллельное выполнение задач Параллельное выполнение задач |
|
1654 / 1153 / 173
Регистрация: 23.07.2010
Сообщений: 6,910
|
|
| 19.06.2024, 19:15 | |
|
нода вроде асинхронна сама по себе
0
|
|
|
3798 / 1626 / 428
Регистрация: 14.03.2022
Сообщений: 4,046
|
||
| 19.06.2024, 22:17 | ||
|
Добавлено через 2 минуты mir0lub, есть подозрение, что ты решил взять на себя больше, чем можешь унести... По таким пространным "описаниям" мало что можно посоветовать. Старайся показать хоть какую-то конкретику, тестовый пример... Тогда можно что-то предложить как решение.
0
|
||
|
0 / 0 / 0
Регистрация: 15.06.2022
Сообщений: 6
|
||
| 19.06.2024, 22:59 [ТС] | ||
![]() ChatGPT рекомендовал использовать библиотеку child_process, и по моему это то, что мне нужно.
0
|
||
|
3798 / 1626 / 428
Регистрация: 14.03.2022
Сообщений: 4,046
|
|||
| 19.06.2024, 23:20 | |||
|
Не зная языка ты не построишь ничего путнего, какое бы огромное желание у тебя не было бы. ![]() С таким советчиком - море по колено.
0
|
|||
|
0 / 0 / 0
Регистрация: 15.06.2022
Сообщений: 6
|
|
| 19.06.2024, 23:40 [ТС] | |
|
0
|
|
|
3798 / 1626 / 428
Регистрация: 14.03.2022
Сообщений: 4,046
|
|
| 20.06.2024, 09:17 | |
|
mir0lub, мы ванговать не умеем...
0
|
|
|
0 / 0 / 0
Регистрация: 15.06.2022
Сообщений: 6
|
||
| 20.06.2024, 10:40 [ТС] | ||
|
чуть позже, как только реализую, напишу сюда - получилось у меня или нет.. вдруг кому пригодится решение
0
|
||
|
14078 / 9295 / 1347
Регистрация: 21.01.2016
Сообщений: 34,895
|
||
| 20.06.2024, 10:58 | ||
|
Добавлено через 1 минуту Только точно ли тебе ВСЕ задачи надо параллелить? Прямо все? Сервер не порвётся? Штук N обработчиков не хватит?
0
|
||
|
0 / 0 / 0
Регистрация: 15.06.2022
Сообщений: 6
|
||
| 20.06.2024, 12:37 [ТС] | ||
|
Под отдельной задачей подразумевается парсинг больших xml в базу данных по расписанию. Одновременно таких задач максимум 10.. ну и соответственно лист ожидания: какая-то задача завершилась > запустилась другая из очереди.. и тд. Вопрос в методе создания таких процессов через веб-интерфейс.
0
|
||
|
14078 / 9295 / 1347
Регистрация: 21.01.2016
Сообщений: 34,895
|
|
| 20.06.2024, 12:53 | |
|
mir0lub, а кто этими задачами управлять должен? Кто им файлы скармливать будет? Все задачи одинаковые? Т.е. одно и то же приложения, десять раз запущенное?
Мне кажется, что тут очередь тоже подходит. Одновременно с основным процессом ноды (который за админку отвечает) запускауются и 10 экземпляров воркеров (worker), которые подписываются на один топик очереди. Основной процесс (или другой) по расписанию пихает в этот топик сообщения. Воркеры их расхватывают в каком-то (не важно каком) порядке. Кто чем занят воркеры рапортуют в общую базу. Админка из этой базы и показывает статистику. Я это как-то так вижу, если навскидку.
1
|
|
|
409 / 301 / 112
Регистрация: 28.08.2013
Сообщений: 787
|
|
| 20.06.2024, 13:37 | |
|
Мой вариант.
Node.js (web-сервер) предоставляет API для необходимых задач. Задачи можно запускать в отдельном процесса, по средствам модудя Cluster (еще один экземпляр ноды (который выполняет долгий скрипт), ffmpeg, python (ИИ), ...). Повесить слушателя событий на std и нужные данные (статус выполнения, ...) отправлять в БД. Можно и без БД, и в реальном времени, но это потребует более глубокого знания и понимания асинхронности и работы Node.js.
0
|
|
|
14078 / 9295 / 1347
Регистрация: 21.01.2016
Сообщений: 34,895
|
|
| 20.06.2024, 14:58 | |
|
kidASM, да на самом деле можно worker_threads использовать и не греть голову) Решение не сильно масштабируемое, но максимально простое. У меня уже профдиформация пошла, я по привычке начал воротить систему расширяемую, с этими очередями.
mir0lub, реально, один единственный процесс с веб-приложением может просто треды порождать для каждой зачади. Обмен данными будет внутри приложения, без очередей и баз. Пора мне в отпуск похоже.
1
|
|
| 20.06.2024, 14:58 | |
|
Помогаю со студенческими работами здесь
13
Параллельное (многопоточное) выполнение мелких задач
Выполнение длительных вычислений и операций в отдельном потоке Работа с 1С через веб интерфейс
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|