База данных mySQL



  • @support И так и сяк пробовал, скачиваю файл mysql.exe и table.txt в папку с проектом, если в командной строке зайти в него и выполнить mysql.exe -uroot -p1 -Dproject<table.txt, данные добавляются. А если точно такую же написать в Запустить процесс, то ни чего не добавляется. Переменная PROCESS_OUTPUT пустая, испектор переменных выдаёт "".


  • administrators

    @Fox Да, действительно перенаправление ввода (<) пока не работает, но ситуацию можно легко решить используя batch файл.
    mysql.xml

    В дальнейшем это действие будет улучшено.


  • administrators

    @Fox Исправил. Теперь действие запустить процесс выглядит так
    0_1485374129888_LaunchProcess.png

    И воспринимает перенаправление потока.



  • Одинарные кавычки тоже надо экранировать? Как и в бат файле? Replace ' на '' ?



  • Опытным путём проверил, кавычки надо экранировать.. Плюс не получилось воспользоваться запросом без сохранения файла. Список TABLE сохраняем в файла TABLE.TXT, выполняем команду

    mysql.exe -uroot -p1 -Dproject<TABLE.TXT
    

    Всё работает.
    А если на прямую:

    mysql.exe -uroot -p1 -Dproject -e "[[TABLE]]"
    

    То не работает.
    Пробовал текст запроса вставлять в командную строку

    "C:\MySQL\MySQL Server 5.5\bin\mysql.exe" -uroot -p1 -Dproject -e "REPLACE INTO test VALUES ('name', 'price', NOW());REPLACE INTO test VALUES ('name2', 'price2', NOW());REPLACE INTO test VALUES ('name3', 'price3', NOW());"
    

    Всё работает, но если её же запустить в BAS то данные в базе не обновятся..
    Вообщем жду обещанное обновление :)

    @support said in Xpath Xml и базы:

    Работа с базой сразу после релиза отпечатков, пока можно использовать такой метод


  • administrators

    @Fox

    Всё работает, но если её же запустить в BAS то данные в базе не обновятся..

    Если вы выполняете действие с каким либо параметром, то это все равно, что создать bat файл с точно таким же содержимым и выполнить его.
    Если это не работает, то значит и bat файл с таким же содержимым не работает.

    0_1489752802942_BatchExecute.png

    Вообщем жду обещанное обновление :)

    В нем будет только монго, но с удобным редактором данным.

    Какая у вас задача стоит? Если просто сохранять/получать данные в хранилище, то апдейт поможет. Если общаться с базой магазина, то нет.



  • Да, косяк был в длине команды, проверка в логе показала, что из переменной данные обрывались.. Если вставлять в команду переменную со списком.
    Зато вы дали интересную мысль для другого проекта

    действие с каким либо параметром, то это все равно, что создать bat файл

    Так как команда копировать папку не заменяет файлы при совпадении имён, мне приходилось создавать бат файл.. Теперь можно проще :)

    Какая у вас задача стоит? Если просто сохранять/получать данные в хранилище, то апдейт поможет. Если общаться с базой магазина, то нет.

    Задача тривиальная, спарсенные данные залить в свою базу, всё.



  • У меня такая ситуация:
    чтобы в реальном времени запускать в работу аккаунты у которых прошло уникальное время с определённого момента, я сделал на MySQL базу с тремя таблицами. Рабочий скрипт (постер) отправляет запрос на получение акка в таблицу T1. Этот скрипт запущен в многопоте. Далее есть второй скрипт - "менеджер аккаунтов". Он работает в один поток и выполняет такую последовательность: читает из таблицы T1 одну запись, удаляет её, потом по нужному условию (прошло ли нужное время) находит подходящий аккаунт в таблице T2, меняет там время, чтобы в следующий раз акк не попался снова и записывает этот акк в таблицу T3. Это занимает у него обычно 10 секунд. Тем временем первый скрипт "постер" в цикле проверяет таблицу T3 и, когда находит акк, предназначеный ему, то забирает и удаляет запись. (Бас работает с бд так, как в этой теме показано.)

    Внимание, вопрос знатокам: Как сократить время работы скрипта "менеджер аккаунтов" в 5-10 раз? :)
    Потому-что он просто не успевает раздавать акки и создает простой ресурсов (память и проц не забиты).
    Он специально запущен в один поток, чтобы не допускать конфликтов записи-чтении аккаунтов.
    Но я даже провел эксперимент - разбил акки на три базы с такой же структурой и запустил к каждой базе по копии менеджера и постера. Но вместо трех потоков по 10 сек на акк, я получил три потока по 1 минуте на акк. Попробовал в два потока - 30-40 сек. Что можете посоветовать?



  • В общем, отказался от этой затеи и перенес все в глобальный список и синхронно с ним работаю. Не совсем то, что хотел, но зато суперскорость.


Log in to reply
 

Looks like your connection to Bablosoft was lost, please wait while we try to reconnect.