Fiware 上下文代理仅在被询问两次时响应

Fiware 上下文代理仅在被询问两次时响应,fiware,fiware-orion,Fiware,Fiware Orion,所以问题是,当我尝试与上下文代理建立连接时,无论我是尝试更新实体还是读取值。只有当我第二次问的时候,它才会回答ok 上下文代理版本:0.24.0(我从0.20.0更新,因为我认为这就是问题所在) 例如: python2.7 GetEntity.py entity_1 输出: * Asking to http://188.***.**.***:1026/ngsi10/queryContext * Headers: {'Fiware-Service': 'fiwarefinal', 'conten

所以问题是,当我尝试与上下文代理建立连接时,无论我是尝试更新实体还是读取值。只有当我第二次问的时候,它才会回答ok

上下文代理版本:0.24.0(我从0.20.0更新,因为我认为这就是问题所在)

例如:

python2.7 GetEntity.py entity_1
输出:

* Asking to http://188.***.**.***:1026/ngsi10/queryContext
* Headers: {'Fiware-Service': 'fiwarefinal', 'content-type': 'application/json', 'accept': 'application/json', 'X-Auth-Token': 'NULL'}
* Sending PAYLOAD:
{
    "entities": [
        {
            "type": "",
            "id": "entity_1",
            "isPattern": "false"
        }
    ],
    "attributes": []
}

...
Traceback (most recent call last):
  File "GetEntity.py", line 73, in <module>
    r = requests.post(URL, data=PAYLOAD, headers=HEADERS)
  File "/usr/local/lib/python2.7/site-packages/requests/api.py", line 109, in post
    return request('post', url, data=data, json=json, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/requests/api.py", line 50, in request
    response = session.request(method=method, url=url, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/requests/sessions.py", line 465, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/local/lib/python2.7/site-packages/requests/sessions.py", line 573, in send
    r = adapter.send(request, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/requests/adapters.py", line 415, in send
    raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', BadStatusLine("''",))
curl: (56) Failure when receiving data from the peer
示例2:

curl http://188.***.**.***:1026/version
输出:

* Asking to http://188.***.**.***:1026/ngsi10/queryContext
* Headers: {'Fiware-Service': 'fiwarefinal', 'content-type': 'application/json', 'accept': 'application/json', 'X-Auth-Token': 'NULL'}
* Sending PAYLOAD:
{
    "entities": [
        {
            "type": "",
            "id": "entity_1",
            "isPattern": "false"
        }
    ],
    "attributes": []
}

...
Traceback (most recent call last):
  File "GetEntity.py", line 73, in <module>
    r = requests.post(URL, data=PAYLOAD, headers=HEADERS)
  File "/usr/local/lib/python2.7/site-packages/requests/api.py", line 109, in post
    return request('post', url, data=data, json=json, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/requests/api.py", line 50, in request
    response = session.request(method=method, url=url, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/requests/sessions.py", line 465, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/local/lib/python2.7/site-packages/requests/sessions.py", line 573, in send
    r = adapter.send(request, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/requests/adapters.py", line 415, in send
    raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', BadStatusLine("''",))
curl: (56) Failure when receiving data from the peer
当我第二次这样做时:

* Asking to http://188.***.**.***:1026/ngsi10/queryContext
* Headers: {'Fiware-Service': 'fiwarefinal', 'content-type': 'application/json', 'accept': 'application/json', 'X-Auth-Token': 'NULL'}
* Sending PAYLOAD:
{
    "entities": [
        {
            "type": "",
            "id": "entity_1",
            "isPattern": "false"
        }
    ],
    "attributes": []
}

...

* Status Code: 200
* Response:
{
  "contextResponses" : [
    {
      "contextElement" : {
        "type" : "",
        "isPattern" : "false",
        "id" : "entity_1",
        "attributes" : [
          {
            "name" : "humidity",
            "type" : "int",
            "value" : "4"
          },
          {
            "name" : "latitude",
            "type" : "float",
            "value" : "3"
          },
          {
            "name" : "longitude",
            "type" : "float",
            "value" : "5"
          },
          {
            "name" : "temperature",
            "type" : "int",
            "value" : "8"
          }
        ]
      },
      "statusCode" : {
        "code" : "200",
        "reasonPhrase" : "OK"
      }
    }
  ]
}
<orion>
  <version>0.24.0</version>
  <uptime>0 d, 0 h, 41 m, 27 s</uptime>
  <git_hash><deleted for safety reasons></git_hash>
  <compile_time>Mon Sep 14 17:52:44 CEST 2015</compile_time>
  <compiled_by>fermin</compiled_by>
  <compiled_in>centollo</compiled_in>
</orion>

所以,正如波斯特的回答所提到的,关于这个问题,有一个RAM内存问题。事实上,经过大量测试后,我的虚拟机内存不足,这本身就使得上下文代理出现了这个问题。我释放了内存,现在问题消失了

成功与失败之间有规律吗?我的意思是,第一个还行,第二个还行,第三个还行,第四个还行,第五个还行,第六个还行,等等。是的,事情就是这样。我更新了我的答案,加入了一个关于这种行为的屏幕截图。你遇到的问题似乎与上描述的问题相同。请看一看,以便说明的解决方案适合您(在这种情况下,a+1是受欢迎的;)我检查了该问题并执行了建议的更改,但它不起作用。你还有什么建议吗?