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

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 не будет опубликован. Обязательные поля помечены *