@anarbus в глобальной переменной укажите время окончания работы, и пусть каждый поток периодически проверяет, не вышло ли это время, если вышло - завершить работу. А в асинхронной функции можно установить жесткий останов скрипта, если время превышено вдвое, например. Хотя, если всё отлажено, то асинхронка и не нужна.
Как сделать увеличение-уменьшение потоков в течении рабочего дня программы?.
-
@maxsiman По разному. Либо через ресурсы перегружать их по времени, но это другой скрипт будет их править или в рабочем танцы с бубном. Или разные скрипты. Или
Текст ссылкино привязать их к таймеру, а не к страницам как на видосе. В общем это не простая задача. Слишком она не конкретная. Что делать как делать, где делать. Если это обычный кликер то просто не перезапускать потоки по завершению после выполнения, если что то серьезное... и долгое. Например выполнив круг уходит в сон и не просыпается до следующего дня если не успел попасть в 40 5 потоков.
-
Можно вести учёт активных потоков файлами. Писать ид потока при старте в файл ну скажем [[thread_id]].lock, так же перед завершением потоков удалять этот lock файл потока и сверять количество файлов в папке с ограничением потоков, если файлов ≥ использовать success/fail с галкой "не перезапуска тебе поток" если же < то без галки. Все это довольно муторно в реализации конечно и стабильность логики должна быть железной т.к ошибки бас не обрабатывает а просто падает поток.
А привязку настроек времени можно сделать простой строкой вида время;число пример - 12:30;50 с 12:30 запускать по 50 потоков. И выставить потоков максимально возможное количество в натсройках или прибегать к при баса