2

我正在尝试在没有 pyral 的 Python 中使用 WSAPI 在 Rally 中创建 >100 个项目作为 AllowedAttributeValue。输入来自输入文件。代码 -

for line in inputFile:
    body = {<body>}
    try:
        r = requests.post(url, headers=headers, data=body, proxies=proxy)

并非所有 100 行都得到更新。数量从 40 到 70 不等。错误 :

["Concurrency conflict: [Object has been modified since being read for update in this context] - ConcurrencyConflictException : Modified since read on update : Object Class : com.f4tech.slm.domain.WorkspaceConfiguration : ObjectID : <objid>"], "Warnings": []}}

寻找解决方案。感谢你的帮助!

4

1 回答 1

0

我对 python 工具包不是很熟悉,但一般来说,这通常发生在你在应用服务器之间跳来跳去并且你发出请求的速度快于缓存同步发生的时候。WSAPI 写入最终在整个系统中保持一致,在处理请求的应用服务器节点上立即保持一致。由于您创建的所有对象都在修改同一个对象(它们都引用相同的 AttributeDefinition),因此您可以获得 ConcurrencyConflictExceptions。

python工具包中有没有办法启用cookies?这通常有效,因为负载均衡器应该将您固定到特定节点。它也应该更快,因为它也不必对每个请求进行身份验证往返。

于 2018-09-27T11:43:36.677 回答