@anarbus в глобальной переменной укажите время окончания работы, и пусть каждый поток периодически проверяет, не вышло ли это время, если вышло - завершить работу. А в асинхронной функции можно установить жесткий останов скрипта, если время превышено вдвое, например. Хотя, если всё отлажено, то асинхронка и не нужна.
Как добавить переменную в базу через исходник скрипта
-
Если использовать кубик вставить запись то в исходнике скрипта появляется такая строка

если через режим записи вставить переменную то она отображается в исходнике (на моем примере это VAR_DATA)
"" это пустое поле , которая заменяется названием переменной
Если в ручном режиме через блокнот редактировать и добавить туда переменную она не отображается в режиме запись. Интересно почему ?
Пришлось пойти на такое извращение из за того что нужно добавить штук 1000 переменных в базу и в ручном режиме через режим записи это просто адская работа