Перейти к содержимому

Задачи

Пакет с кнопкой «Отменить»

Групповая работа заводит строку в центре задач: название с вашим числом, полоса, которая движется после каждого профиля, и кнопка «Отменить». Ничто здесь не продолжается после перезапуска, и список не уезжает с этой машины.
8 видов
Работа, заводящая задачу
Последние 50
Строк задач хранится
После каждой штуки
Ход пишется
Никогда
Продолжается после перезапуска

Строка на каждый пакет

Центр задач стоит в верхней полосе окна программы. Его значок считает то, что идёт или ждёт прямо сейчас, и ничего больше.

Один пакет это одна строка. В ней название с вашим числом, признак состояния, полоса на время работы, счёт сделанного и время последнего движения.

Прогон сценария внутри программы и пакет, пущенный из списка, это две строки разом, и значок считает обе.

РаботаОдин шаг полосыЧем движется
Запуск профилейОдин открытый профильОкно программы
Остановка профилейОдин закрытый браузерОкно программы
Перенос в группуОдин переписанный профильОкно программы
Назначение проксиОдин переписанный профильОкно программы
Удаление профилейОдин профиль в корзинуОкно программы
Чистка корзиныОдин стёртый насовсем профильОкно программы
Прогон сценарияОдин шаг на одном профилеСама программа
Наработка историиОдин шаг на одном сайтеСама программа

Две дороги до остановки

Пакет, которым правит окно, это обход вашего выбора. Отмену смотрят между профилями, поэтому уже открывающийся профиль доходит до конца, а следующий не начинается.

Прогон сценария и наработка истории живут в самой программе, поэтому кнопка достаёт до прогона, а не до обхода. Перед каждым шагом прогон смотрит на признак остановки, и вложенные повторы и развилки сворачиваются вместе с ним.

  1. 1

    Вы нажали

    Кнопка гаснет и говорит, что остановка ляжет после текущего профиля.

  2. 2

    Начатый профиль доходит

    Обрыв на середине оставил бы полуоткрытый браузер или недописанную запись.

  3. 3

    Остальные не начинаются

    Обход выходит с тем числом, до которого дошёл, а не с тем, что вы выбрали.

  4. 4

    Строка получает итог

    Она помечается отменённой, а отчёт называет, сколько профилей правда прошло.

Отмена это не откат

Отмена останавливает то, что не началось. Сделанное она назад не отматывает: одного нажатия, которое вернёт двести профилей в прежний вид, не существует.

Думать об этом стоит на чистке корзины. Отмена на середине оставляет уже стёртые профили стёртыми, а те, что стояли за ними, лежат в корзине нетронутыми.

Остановленный прогон кончается ошибкой

Отменённый пакет окна помечается отменённым и говорит, докуда дошёл. Остановленный прогон сценария или наработки истории помечается ошибкой и поднимает красную строку рядом. Шаги, дошедшие до конца раньше нажатия, остаются сделанными.

Ход пишется после каждой штуки

Счёт пишется на диск после каждого профиля, а не берётся с часов. Поэтому медленный пакет видно движущимся, а не замершим.

У единственного случая, когда полоса честно стоит, есть своё состояние. Когда все окна браузера, какие позволяет эта машина, уже открыты, признак меняется на «В очереди», и очередь ждёт, пока одно закроется.

Выполняется
Обход вашего выбора идёт, либо строка осталась от закрытого вами окна
В очереди
Ждём, пока закроется окно браузера
Готово
Дошли до конца списка
Ошибка
Не вышло ничего либо прогон остановлен
Отменено
Вы нажали «Отменить», и остановка легла между профилями

«Очистить завершённые» убирает кончившиеся строки и оставляет идущие.

Итог находит вас в другом месте

Кончившийся пакет добавляет строку в список уведомлений, с пометкой о завершении или об ошибке. Строка переживает перезапуск, поэтому ночной прогон утром на месте.

Если окна в эту минуту перед вами нет, программа стучится ещё и средствами системы. Это сообщение не отчёт, а дорога назад: нажатие возвращает окно вперёд, а строка со счётом уже ждёт.

Готовое к установке обновление, несостоявшееся расписание и достигнутый предел тарифа оставляют такую же строку.

Что перезапуск делает с незаконченным

Здесь ничего не продолжается. Пакет это обход списка, а список уходит вместе с работающей программой.

Поэтому при следующем запуске каждая строка, оставшаяся выполняющейся или ждущей, записывается ошибкой. Оставить её выполняющейся было бы хуже: вы ждали бы конца, который уже не наступит.

Сами строки остаются. Последние 50 задач читаются с диска обратно, поэтому утро после ночного прогона всё-таки рассказывает, что было.

Список остаётся на этой машине

Строки задач и уведомления это два файла в собственной папке программы, записанные так, что прочитать их может только ваша учётная запись.

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

Профиль, удалённый насовсем, уносит своё имя из файла уведомлений: журнал, который нельзя увидеть и очистить, это не тот журнал, на который соглашались.

Чего это не делает

  • Перезапуск это не переживает. Ничего не продолжается, а задача, застигнутая на ходу, записывается ошибкой, а не остаётся выглядеть живой.
  • Отмена не откатывает. Она останавливает то, что не началось, а уже открытые, перенесённые или стёртые профили такими и остаются.
  • Закрытое окно программы обрывает пакет, которым оно правило. Запуск, остановка, перенос, назначение и удаление встают там, где стояли, а прогон сценария и наработка истории идут дальше. Строка такого пакета остаётся в «Выполняется», пока вы не перезапустите саму программу.
  • Список местный. Задачи и уведомления не доходят до аккаунта, поэтому второй компьютер не покажет ничего о пакете, прогнанном здесь.

Как проверить

Каждое утверждение выше лежит в одном файле, и почти у каждого есть стенд, который можно запустить.

Отменённый пакет встаёт между профилями и говорит, докуда дошёл на самом деле
apps/desktop/src/manager/renderer.js · apps/desktop/test/очередь-запуска.js
Незаконченная задача при следующем запуске помечается ошибкой, а не остаётся живой
apps/desktop/src/lib/tasks.js
Итог доходит средствами системы, когда окна перед вами нет
apps/desktop/src/main/main.js · apps/desktop/test/notify-outside.js
«Готово» значит, что шаги правда прошли, а не что программа не упала
apps/desktop/src/main/main.js · apps/desktop/test/run-result-honest.js

Вопросы

Можно уйти на другой экран, пока идёт пакет?
Да. Строка продолжает двигаться, а об итоге программа скажет средствами системы, если окна перед вами нет. Закрытое окно это другое дело: запуском и удалением правит именно оно.
Что станет с задачей, если программу убили?
Следующий запуск прочитает файл и пометит её ошибкой. Это сказано про строку, а не про ваши профили: всё, что обход успел сделать, сделано.
Полоса не двигается несколько минут. Она застряла?
Смотрите на признак. «В очереди» значит, что все окна браузера, какие позволяет машина, открыты, и очередь ждёт освободившегося до получаса. «Выполняется» с медленным счётом это обычно пауза между запусками.
Список можно очистить?
«Очистить завершённые» убирает всё кончившееся и оставляет идущее. У списка уведомлений своя очистка, а профиль, удалённый насовсем, уносит из него своё имя.

Пустите пакет и посмотрите, как он идёт

Поставьте ARMANOS, выберите несколько профилей и нажмите «Запустить», не закрывая центр задач.