LimeSurvey Remote Control — ошибка на полпути через import_survey

В настоящее время используется LimeSurvey Версия 2.57.1 ​​+ 161205

Я использую Remote Control API для загрузки файлов опроса LSS по требованию.

Я использую 3 вызова API:

  1. ‘Import_survey’
  2. ‘Activate_tokens’
  3. ‘Activate_survey’

в этой последовательности.

Работает нормально, но сейчас я нахожу очень странную проблему. Ранее этот конкретный файл LSS загружался нормально без проблем, но теперь я получаю исключение:

fopen(https://some.server.com/lime/admin/remotecontrol): failed to open stream: HTTP request failed!

(some.server.com составлен, фактический домен существует и работает нормально)

Если я захожу на административный портал LimeSurvey, опрос фактически создан! Но поскольку это вызывает исключение, Идентификатор опроса никогда не возвращается вызовом API import_survey, что делает activate_tokens а также activate_survey звонки также не выполняются.

Я использую библиотеку JSON RPC https://github.com/fguillot/JsonRPC

Файл LSS имеет размер 631 КБ, но не уверен, что это проблема, поскольку система успешно импортировала и активировала 2 опроса по 653 КБ.

Примечание: когда я набирал это, я сделал еще один тестовый прогон, на этот раз опрос прошел без проблем. Это очень загадочно. Может ли здесь быть какая-то проблема со временем? Около 5 минут назад этот опрос не удался, но теперь он прошел. Я также проверил это локально на своем компьютере разработчика, который является Macbook Pro на Sierra, и некоторые опросы проваливаются (те, которые проваливаются, превышают 600 КБ).

0

Решение

Ну, это похоже на проблему тайм-аута!
Используемый мной RPC-клиент имеет значение по умолчанию 5 секунд.
Похоже, что LimeSurvey занимает более 5 секунд, чтобы обработать данные LSS свыше 600 КБ (приблизительно).
Поэтому, когда я устанавливаю Клиент, я устанавливаю тайм-аут на 60 секунд, например

$this->ls_rpc_client = new JSONRPClient($api_url);
$this->ls_rpc_client->getHttpClient()->withTimeout(60);

Теперь мой автоматический импортер работает без ошибок.

0

Другие решения

По вопросам рекламы [email protected]