LimeSurvey 远程控制 - 中途失败 import_survey
LimeSurvey Remote Control - failing half way through import_survey
目前使用 LimeSurvey 版本 2.57.1+161205
我正在使用遥控器 API 按需上传 LSS 调查文件。
我使用了 3 个 API 调用:
- 'import_survey'
- 'activate_tokens'
- '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 永远不会返回 调查 ID,这使得 activate_tokens 和 activate_survey 调用也失败了。
我正在使用 JSON RPC 库 https://github.com/fguillot/JsonRPC
LSS 文件的大小为 631k,但不确定这是否是一个问题,因为系统成功导入并激活了 2 个 653k 的调查。
旁注:在输入此内容时,我又进行了一次测试 运行,这次调查顺利通过。这很令人费解。这里可能存在某种时间问题吗?大约 5 分钟前,这项调查失败了,但现在它通过了。我还在我的开发机器上本地测试了这个,这是 Sierra 上的 Macbook Pro,一些调查确实失败了(失败的恰好超过 600k)。
这会是你的问题吗?
好吧,这似乎是一个超时问题!
我使用的 RPC 客户端默认为 5 秒。
看起来 LimeSurvey 处理超过 600k(大约)的 LSS 数据需要超过 5 秒。
所以当我实例化客户端时,我将超时设置为 60 秒,eg
$this->ls_rpc_client = new JSONRPClient($api_url);
$this->ls_rpc_client->getHttpClient()->withTimeout(60);
现在我的自动导入器可以正常工作了。
目前使用 LimeSurvey 版本 2.57.1+161205
我正在使用遥控器 API 按需上传 LSS 调查文件。
我使用了 3 个 API 调用:
- 'import_survey'
- 'activate_tokens'
- '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 永远不会返回 调查 ID,这使得 activate_tokens 和 activate_survey 调用也失败了。
我正在使用 JSON RPC 库 https://github.com/fguillot/JsonRPC
LSS 文件的大小为 631k,但不确定这是否是一个问题,因为系统成功导入并激活了 2 个 653k 的调查。
旁注:在输入此内容时,我又进行了一次测试 运行,这次调查顺利通过。这很令人费解。这里可能存在某种时间问题吗?大约 5 分钟前,这项调查失败了,但现在它通过了。我还在我的开发机器上本地测试了这个,这是 Sierra 上的 Macbook Pro,一些调查确实失败了(失败的恰好超过 600k)。
这会是你的问题吗?
好吧,这似乎是一个超时问题! 我使用的 RPC 客户端默认为 5 秒。 看起来 LimeSurvey 处理超过 600k(大约)的 LSS 数据需要超过 5 秒。 所以当我实例化客户端时,我将超时设置为 60 秒,eg
$this->ls_rpc_client = new JSONRPClient($api_url);
$this->ls_rpc_client->getHttpClient()->withTimeout(60);
现在我的自动导入器可以正常工作了。