humanemulator.net — справка. Продукт, демо и покупка — на хуманэмулятор.рф | Демо | Купить | API | лог изменений

Обновлено в августе 2026. · Руководство humanemulator.net

Расписание и автозапуск

Теги: расписание RPA

Расписание — очередь файлов, которые Studio запускает сама. Приложение должно быть запущено (или RT в трее). Следующая задача не стартует, пока идёт предыдущая: это не пул потоков, а один исполнитель.

Панель в Studio

Вид: Панель расписания скриптов. Меню: Скрипты → Расписание. У списка задач есть контекстное меню.

Сначала прогоните скрипт руками до стабильного конца (exit без висящего Word/диалога). В расписание кладите уже этот файл с абсолютным путём: относительный путь зависит от текущей папки процесса и ночью легко «теряется».

Панель показывает список и контекстное меню задачи. API нужен, когда робот сам регистрирует задачу при первом запуске или когда задач десятки и кликать руками нереально. Для одной-двух утренних отчётов достаточно UI.

Что должно быть в скрипте до расписания

  1. Шаблоны подключены, хост из RPABOT_HOST_URLязыки.
  2. Wait вместо sleep — ожидание.
  3. Лог шагов в файл/SQLite — logger: иначе в 3 часа ночи останется только «не сработало».
  4. Скрипт сам завершается (не ждёт клика оператора).

Объект scheduler

Хаб: WINDOW::$scheduler.

// раз в день в 08:00 (type = 2)
$scheduler->add("C:\\bots\\report.php", 2, "", "08:00", -1, true, "утренний отчёт");

$date и $time — в формате системы Windows (как в подсказке метода: дата вроде 07/03/15, время 08:01:02). $add_params — доп. сведения для типа «по выбору» (с 4.10.6), интервал в минутах.

Типы задач

Параметр $type у add:

  • 0 — один раз
  • 1 — раз в час · 2 — раз в день · 3 — неделя · 4 — месяц · 5 — год
  • 6 — по выбору
  • 7 — раз в минуту · 8 — 5 минут · 9 — 10 минут · 10 — полчаса
  • 11 — N раз ($count) · 12 — бесконечно

Не ставьте «каждую минуту» на скрипт, который сам длится три минуты: получите очередь ожидания, не параллельность. Для двух роботов одновременно нужны две копии Studio, не две задачи в одном расписании.

typeКогда стартуетКогда не ставить
0Один раз (нужны date/time)Повторяющийся отчёт
2Раз в день в $timeЕсли прогон длиннее суток
7–10Минута / 5 / 10 / 30 минЕсли скрипт сам дольше интервала
11Ровно $count разБесконечный робот
12Снова сразу после концаПока не закрыли зависания и диалоги

Очередь и зависания

Документация панели прямо говорит: скрипты выполняются последовательно, следующий не стартует, пока работает предыдущий.

Типичный затор: Word/Excel показали диалог «файл залочен», скрипт ждёт клика, расписание молчит до утра. На тесте закрывайте диалоги через UI или не оставляйте документ открытым. Аварийно — kill_current_script (осознанно: текущий прогон оборвётся).

Перед постановкой в очередь прогоните файл руками до конца: должен сам завершиться, без модалки Word и без «нажмите ОК». Относительный путь report.php ночью ищется не из папки проекта в голове оператора, а из рабочей директории процесса — кладите абсолютный путь.

Пример: утренний отчёт

$logger->init(1, true, true, "C:\\bots\\logs\\sched.txt", "");
$n = $scheduler->get_count();
$logger->info("задач в расписании", $n);

$scheduler->add(
  "C:\\bots\\report.php",
  2,
  "",
  "08:00",
  -1,
  true,
  "утренний отчёт"
);

Скрипт report.php внутри себя: wait страницы → Excel/PDF → лог «готово». Если отчёт иногда висит на диалоге — очередь на 08:00 следующего дня не стартует, пока висит вчерашний.

edit / activate / delete — точечно. activate_all / delete_all — только когда понимаете, что снесёте все задачи этой копии.

Runtime, трей, Windows Task Scheduler

Ночь без оператора: RT-сборка + «сворачивать в трей» / «скрывать при старте в трей» в настройках. Длинный робот + расписание на одной копии — нормальный паттерн.

Два независимых расписания — две копии и разные порты. Планировщик Windows может просто держать exe RT запущенным; логику «в 8:00 отчёт» удобнее оставить внутри Studio — её видно в панели и в логе скрипта.

Не дублируйте одну и ту же задачу в Windows Task Scheduler и в панели Studio: получите два старта и гонку за Excel/файл. Windows-планировщик — чтобы процесс RT не умирал после перезагрузки; расписание скриптов — внутри уже запущенного приложения.

FAQ

Задача не стартует. Приложение закрыто, путь сменился, предыдущий скрипт ещё работает, задача снята с activate, формат даты/времени не тот, что ждёт Windows.

Сработало дважды. И Studio-расписание, и Windows Task Scheduler стартуют один файл — оставьте один источник.

Нужен запуск с аргументами. Смотрите $add_params и то, как ваш скрипт читает параметры; не путайте с портом HTTP API.

Задача «раз в минуту» копит очередь. Скрипт не успевает закончиться. Поднимите интервал или ускорьте wait/сеть, не плодите копии задачи.

После kill_current_script файл наполовину записан. Это ожидаемо. Делайте запись во временный путь и rename в конце, либо помечайте прогон в логе как оборванный.

Панель пустая после переустановки. Задачи живут в настройках этой копии, не «в скрипте». После чистой установки добавьте снова через UI или add.

Все руководства · С чего начать