@UserTrue
Когда искал по форуму, часто встречал ответы этого пользователя. Если найдется минутка, поделитесь опытом. Пока выделил два возможных решения замены curl http. Может есть еще варианты? Какой вариант для вас лучше?
bug: BAS тихо падает если использовать модуль mariadb.
-
BAS тихо падает при использовании модуля mariadb . Скрипт обрабатывает данные и вместо корректно завершениям работы, BAS падает, в режиме записи все работает.
То есть сам скрипт работает, данные выводит, что-то там делает, но в конце работы падает.В логах Windows:
Faulting application name: BrowserAutomationStudio.exe, version: 0.0.0.0, time stamp: 0x6414506d Faulting module name: MSVCR120.dll, version: 12.0.21005.1, time stamp: 0x524f83ff Exception code: 0xc00000fd Fault offset: 0x0000000000066962 Faulting process id: 0x2704 Faulting application start time: 0x01d98afb78e0abdb Faulting application path: C:\Users\Administrator\AppData\Roaming\BrowserAutomationStudio\apps\25.5.0\BrowserAutomationStudio.exe Faulting module path: C:\Users\Administrator\AppData\Roaming\BrowserAutomationStudio\apps\25.5.0\MSVCR120.dll Report Id: acf7bb58-192b-4d5a-8ec2-28f374c702a0 Faulting package full name: Faulting package-relative application ID:const mariadb = require('mariadb'); console.log("DB_HOST: " + [[DB_HOST]] + " DB_USERNAME: " + [[DB_USERNAME]] + " DB_PASSWORD: " + [[DB_PASSWORD]] + " DB_DATABASE: " + [[DB_DATABASE]]) const pool = mariadb.createPool({ host: [[DB_HOST]], user: [[DB_USERNAME]], password: [[DB_PASSWORD]], database: [[DB_DATABASE]], connectTimeout: [[DB_CONNECT_TIMEOUT]], connectionLimit: 50, }); await(new Promise(async (resolve, reject) => { let conn try { conn = await pool.getConnection(); } catch (err) { console.error(`not connected due to error: ${err}`); reject(err) } console.log(`[db]: connected: ${conn.threadId}`); try { const result = await conn.query('SELECT VERSION();'); console.log(result); } catch (err) { console.error(err); reject(err) } finally { conn.release(); } resolve() }));node_log.txt:
[03:11:50.302] Language version set to 18.10.0 [03:11:50.302] Added module mariadb, 3.1.2 [03:11:50.303] Added function pd4s1d8kryb [03:11:50.303] ------------------------------------------------------------------ [03:11:50.303] Starting Node.js 18.10.0 [03:11:50.304] Found installed distr C:/Users/Administrator/AppData/Roaming/BrowserAutomationStudio/apps/25.5.0/c3f8.y59q [03:11:50.305] Calculating checksums for C:/Users/Administrator/AppData/Roaming/BrowserAutomationStudio/apps/25.5.0/e/c3f8.y59q/distr [03:11:50.306] Checksum verified successfully [03:11:50.307] Hash c3f8 [03:11:50.307] Deleting functions and files [03:11:50.307] Removing directory C:/Users/Administrator/AppData/Roaming/BrowserAutomationStudio/apps/25.5.0/e/c3f8.y59q/distr/app/lib/custom [03:11:50.309] Installing functions and files [03:11:50.310] Installing function C:/Users/Administrator/AppData/Roaming/BrowserAutomationStudio/apps/25.5.0/e/c3f8.y59q/distr/app/lib/custom/pd4s1d8kryb.js [03:11:50.311] Starting pipes server \\.\pipe\basembeddedpipes18.10.06684 [03:11:50.311] Starting process C:/Users/Administrator/AppData/Roaming/BrowserAutomationStudio/apps/25.5.0/e/c3f8.y59q/distr/node.exe [03:11:50.412] Autoclean [03:11:50.412] Not modified C:/Users/Administrator/AppData/Roaming/BrowserAutomationStudio/apps/25.5.0/e/89e6.x4Hh for 185 seconds [03:11:50.413] Not modified C:/Users/Administrator/AppData/Roaming/BrowserAutomationStudio/apps/25.5.0/e/c3f8.y59q for 0 seconds [03:11:50.413] Autoclean current cache C:/Users/Administrator/AppData/Roaming/BrowserAutomationStudio/apps/25.5.0/e/cache.y59q [03:11:50.414] Started successmariadb Ver 15.1 Distrib 10.6.12-MariaDB, for debian-linux-gnu (x86_64) using EditLine wrapperМинимальный проект, при старте нужно указать данные подключения к серверу MariaDB.
mariadb_example.xml -
@sergerdn said in bug: BAS тихо падает если использовать модуль mariadb.:
BAS тихо падает при использовании модуля mariadb . Скрипт обрабатывает данные и вместо корректно завершениям работы, BAS падает, в режиме записи все работает.
То есть сам скрипт работает, данные выводит, что-то там делает, но в конце работы падает.Минимальный проект, при старте нужно указать данные подключения к серверу MariaDB.
mariadb_example.xmlВ вашем проекте используется тип запуска "Повторять" при этом в функции "OnApplicationStart" нет пауз. Для теста попробуйте изменить тип запуска с "Повторять" на "Один раз", или установите в функции "OnApplicationStart" действие "Спать" первым действием на 1 секунду
-
@Fox said in bug: BAS тихо падает если использовать модуль mariadb.:
@sergerdn said in bug: BAS тихо падает если использовать модуль mariadb.:
BAS тихо падает при использовании модуля mariadb . Скрипт обрабатывает данные и вместо корректно завершениям работы, BAS падает, в режиме записи все работает.
То есть сам скрипт работает, данные выводит, что-то там делает, но в конце работы падает.Минимальный проект, при старте нужно указать данные подключения к серверу MariaDB.
mariadb_example.xmlВ вашем проекте используется тип запуска "Повторять" при этом в функции "OnApplicationStart" нет пауз. Для теста попробуйте изменить тип запуска с "Повторять" на "Один раз", или установите в функции "OnApplicationStart" действие "Спать" первым действием на 1 секунду
Интересный вариант, что надо делать паузу в OnApplicationStart, если скрипт работает по кругу, спасибо за подсказку!
-
@sergerdn said in bug: BAS тихо падает если использовать модуль mariadb.:
В вашем проекте используется тип запуска "Повторять" при этом в функции "OnApplicationStart" нет пауз. Для теста попробуйте изменить тип запуска с "Повторять" на "Один раз", или установите в функции "OnApplicationStart" действие "Спать" первым действием на 1 секунду
Интересный вариант, что надо делать паузу в OnApplicationStart, если скрипт работает по кругу, спасибо за подсказку!
Проблема в том, что интерфейс BAS может зависнуть при очень больших или бесконечных циклах без задержки, а в зависимости от настроек операционной системы зависшее приложение может быть закрыто автоматически. Тип запуска "повторять" по сути является бесконечным циклом, я предложил добавить задержку в функцию "OnApplicationStart", что бы вы могли увидеть ошибку, которая и приводит к постоянному завршению потока с последующим мгновенным запуском.
-
@Fox said in bug: BAS тихо падает если использовать модуль mariadb.:
"OnApplicationStart", что бы вы могли увидеть ошибку, которая и приводит к постоянному завршению потока с последующим мгновенным запуском.
Может в функцию "main" ?..
-
@UserTrue said in bug: BAS тихо падает если использовать модуль mariadb.:
@Fox said in bug: BAS тихо падает если использовать модуль mariadb.:
"OnApplicationStart", что бы вы могли увидеть ошибку, которая и приводит к постоянному завршению потока с последующим мгновенным запуском.
Может в функцию "main" ?..
В его тестовом скрипте функция "main" пуста, весь код находится в функции "OnApplicationStart"