Отслеживание выполнения фонового задания

16 Comments

  1. mi1man

    Спасибо. Тема про «многопоточность» интересна .. буду ждать продолжения)

    Reply
  2. Xershi

    Действительно, плохо искали. Мало того имея БСП 2.3 с доработкой или 2.4 уже можно не рисовать на форме элементы а выводить прогресс отдельно и многопоточность тоже уже реализована! А перепроведение как уже говорилось не подойдет, потому что оно будет накладывать взаимоблокировки. Придется и их учесть при написании кода, что усложнит алгоритм на порядок.

    Reply
  3. aximo

    Дмитрий, ты молодец! интересные вещи пишешь!

    Reply
  4. ids79

    (2)Многопоточность сама по себе ничего сверхестественного из себя не представляет. Интересен как раз сам механизм разбиения данных на блоки для выполнения в разных потоках. То-есть выделять группы документов, которые не будут мешать друг другу при проведении.

    Reply
  5. ids79

    (3)Спасибо

    Reply
  6. logarifm

    Можно добавить лепту? Если операции действительно длительные то для оптимизации можно бы подумать в сторону «шага процента» чтобы не долбить проверками каждые 0.3 секунд.

    Reply
  7. borodatii

    Про многопоточное проведение вот тут достаточно подробно рассказано: https://infostart.ru/public/1102042

    Reply
  8. ids79

    (6)В принципе, можно увеличить это время, так как все равно данные отправляются после каждого пятого документа.

    Reply
  9. ids79

    (7)Да, я тоже привел ссылку на эту статью в публицации

    Reply
  10. borodatii

    (9) оу, невнимательно прочитал, смотрел больше на код…

    Reply
  11. Darklight

    Мне кажется не очень хорошей идея — проверять прогресс каждые 0.3 сек через серверные вызовы. Ну тут можно долго спорить на тему оптимизации клиент-серверного взаимодействия, но от серверных вызовов тут никак не уйти (ну разве что всё взаимодействие не вынести во внешнюю Native-компоненту, которая будет подключена и в фоновом процессе и в клиенте, и будет производить обмен сообщениями через свой канал, например через TCP — но тут сложно искать универсальное решение), иначе всё сведётся лишь к увеличению периода опроса сервера

    Reply
  12. ids79

    (11)Ну да, вариантов взаимодействия много, некоторые я привел в статье. Это не все, естественно.

    Спасибо за дополнение

    Reply
  13. DonAlPatino

    Немножко не в тему, но коль про многопоточность заговорили … а в oscript можно ее как-то организовать и результаты в главную программу вернуть? Что-то не нашел ничего на вскидку…

    Reply
  14. ids79

    (13)Я не в курсе. Задайте вопрос Андрею Овсянкину

    Reply
  15. PowerBoy

    (1) Кому интересна тема многопоточности и хочет поэкспериментировать можете воспользоваться обработкой

    PowerTools (https://infostart.ru/public/167865/). Умеет запускать в многопоток как различные операции обработки данных, так и произвольный код. Умеет распределять потоки по выбранным полям таблицы.

    Reply
  16. qbdp

    Ещё как вариант — использовать временный файл. Записывать в фоновом задании, а затем через вызов сервера (в сеансе пользователя) его читать.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *