1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вступайте в наш Telegram чат: https://t.me/a_parser Нас уже 2600+ и мы растем!
    Скрыть объявление

Название файла результатов.

Тема в разделе "Техническая поддержка", создана пользователем visajack, 8 авг 2017.

  1. visajack

    visajack New Member

    Регистрация:
    8 авг 2017
    Сообщения:
    4
    Симпатии:
    0
    Добрый день.
    Для решения своих задач использую АПИ.
    Создаю таск с помощью addTask. Записываю в БД taskUid.

    Кроном прохожусь по БД, выдергиваю taskUid и по нему с помощью getTaskState получаю состояние тасков, и если статус complited, то с помощью getTaskResultsFile получаю название файла результатов. Обрабатываю результат и записываю в БД. А файл результата таска удаляю.
    На этом этапе всё отлично, но иногда создается несколько тасков с разницей во времени несколько милисекунд, и у нескольких тасков имя совпадает:
    Aug-08_19-55-50.csv - для 5-ти тасков.
    И после того как первый таск обработан файл удаляется, но в этом же файле содержится информация ещё 4-х файлов, которая ещё не обработана.

    Это неудобно, потому спросил в поддержке как "обзывать" файлы используя либо
    Timestamp, либо добавлять милисекунды. В качестве решения предложили вариант с использованием tools.js.
    В итоге имею:
    Настройки - http://prntscr.com/g5yz5q
    При тестировании таска всё отлично: http://prntscr.com/g5z03x
    Но при попытке запустить таск через АПИ получаю ответ:
    {"msg":"Error: File not exists","success":0}
    Зайда на вебморду а-парсера вижу в таске следующее: http://prntscr.com/g5z0of
    Т.е. при тестировании имя файла формируется, а при запуске через АПИ нет. Но интересен тот факт, что в самой папке results файл создается, в него пишутся результаты. Я могу его скачать ручками. Он абсолютно корректен.

    Опять же обратившись в поддержку с этим вопросом получил ответ:
    "С помощью API можно забирать только статичные файлы."

    Так как эпопея с моей задачей длится уже 2 дня решил создать тему на форуме, может быстрее решится.
    Чем файл с названием Aug-08_10-10-10.csv отличается от файла с названием 1502187010367.csv
    Что значит "статичные файлы"? Как решить мою проблему?
     
  2. Forbidden

    Forbidden Administrator
    Команда форума A-Parser Enterprise

    Регистрация:
    9 мар 2013
    Сообщения:
    3.336
    Симпатии:
    1.791
    Добрый день, поддержка осуществляется только владельцам лицензии
     
  3. rus5665

    rus5665 A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    1 июн 2017
    Сообщения:
    1
    Симпатии:
    1
    Добрый день, я владелец лицензии. Я задавал вопрос в поддержке. Эту ветку создал программист, чтобы не было испорченного телефона.
     
    visajack нравится это.
  4. visajack

    visajack New Member

    Регистрация:
    8 авг 2017
    Сообщения:
    4
    Симпатии:
    0
    Выше отписался rus5665 (от имени которого я пишу), владелец лицензии.
    Вопросы топика в силе.
    Вы уж извините за настойчивость. Я понимаю, что подобные вопросы могут (и должны) решаться через систему тикетов, но мы уже 2 дня "топчемся" на одном месте из-за непонимания в общении. Ответы не совсем соответствуют задаваемому вопросу. Потому и отписался на форуме, может кто уже сталкивался с подобным и знает как решить проблему. Или как её обойти. Пусть даже костыль, но рабочий.
     
  5. Forbidden

    Forbidden Administrator
    Команда форума A-Parser Enterprise

    Регистрация:
    9 мар 2013
    Сообщения:
    3.336
    Симпатии:
    1.791
    Ответы вполне соответствуют, т.к. имя файла формируется через внешнюю функцию при каждом запросе, то таких файлов может быть большое множество - поэтому парсер не запоминает имена динамических файлов результатов, и API getTaskResultsFile в этом случае работать не будет.

    Решение очень простое и очевидное - формируйте имя файла результата сами, при добавлении задания через API addTask. Не знаю зачем было так заморачиваться с генерацией миллисекунд
     
    visajack нравится это.
  6. visajack

    visajack New Member

    Регистрация:
    8 авг 2017
    Сообщения:
    4
    Симпатии:
    0
    Ну вот опять. Смотрите:
    Если имя файла - $datefile.format().csv то всё работает нормально.
    Если же имя файла $datefile.format().${query}.csv, то начинаются те же грабли, что и при tools.js (как Вы выразились через внешнюю функцию)
    http://prntscr.com/g69i7r - настройки
    http://prntscr.com/g69kvt - вебморда
    http://prntscr.com/g69l95 - ответ API
    Файл в папке опять же создается.
    Чем $datefile.format().csv отличается от datefile.format().${query}.csv ?
    Где тут внешняя функция, если в имени файла используются только переменные?


    Спасибо. Так и поступил:
    http://prntscr.com/g69szv
     
    #6 visajack, 9 авг 2017
    Последнее редактирование: 9 авг 2017
  7. Forbidden

    Forbidden Administrator
    Команда форума A-Parser Enterprise

    Регистрация:
    9 мар 2013
    Сообщения:
    3.336
    Симпатии:
    1.791
    когда добавляется переменная $query - имя файла начинает зависеть от запроса, т.е. если запросов например 10 млн, то столько же разных файлов будет
     
  8. visajack

    visajack New Member

    Регистрация:
    8 авг 2017
    Сообщения:
    4
    Симпатии:
    0
    Хм. Ну логично.

    Главное, что ответ на мой вопрос получен - совет с генерацией файла самостоятельно. Значит всё не зря :)
    Ещё раз спасибо.
     

Поделиться этой страницей