В базовой версии это компенсировалось тем, что весь импорт выполнялся в рамках одного процессора, а в нем действия могут выполняться только последовательно. А веб-форма просто проверяла регистр на наличие новых сообщений. Таким образом логика работы процессора не могла нарушиться асинхронными запросами.
при чем так, чтобы уложиться в 30 секунд и 64 Mb памяти
Вы выполняете импорт в процессоре, а во время импорта процессор не может ответить на запрос формы, так как он уже начал свою работу и нужен какой-то промежуточный обмен данными между работающим процессором и формой.
Асинхронные запросы без ожидания ответа — это и есть большая проблема. Здесь важно, чтобы каждый запрос обрабатывался последовательно, так как, к примеру, нельзя перейти к шагу импорта записей во временную таблицу, пока эта таблица не очищена.
Все просто: идет запрос на сервер, и с сервера информация поступает в ответе через стандартное return $this->success($msg, $object);
То есть реальных проблем со стандартной консолью не было, просто свое решение задачи?
А вы как обошлись без передачи логов через файлы между работающим скриптом импорта и Javascript-формой?
(возможность переключить провайдер в синхронный режим я не нашел. Если вы знаете как, поделитесь, полезно будет).
А чем именно не понравился стандартный компонент MODx.Console?