python - cassandra中的重复行
问题描述
我有一种方法将数据发布到 Cassandra 表中。不知何故,我能够(有时)添加不应该发生的重复行。以下是我为此编写的方法。我正在检查该名称是否已经存在,如果存在,则不应发布任何数据。
有什么明显的我失踪了吗?
print(args)
jm = Jenkins()
#print(json.dumps(args, sort_keys=True, indent=4))
for i in args:
jm.name = i['fullDisplayName']
jm.result = i['result']
jm.jobnumber = str(i['id'])
jm.executor = i['executor']
jm.duration = str(i['duration'])
jm.time_stamp = str(i['timestamp'])
jm.url = i['url']
jm.id = str(uuid.uuid4())
check_if_table_is_empty = len(Jenkins.objects.all())
if (check_if_table_is_empty is 0):
Jenkins.create(name=jm.name, result=jm.result, jobnumber=jm.jobnumber, executor=jm.executor,
duration=jm.duration, time_stamp=jm.time_stamp, url=jm.url, id=jm.id)
return jm.id
else:
for data in Jenkins.objects.all():
if (data['name'] == jm.name):
return data['id']
else:
jm.save()
return jm.id
id | duration | executor | jobnumber | name | result | time_stamp | url
--------------------------------------+----------+----------+-----------+----------------------------+---------+---------------+---------------------------------------------------------
5dd7ba97-fd93-4a54-bce6-002502f0e96b | 7912 | null | 10 | alten-training-develop #10 | ABORTED | 1530273379763 | **********************
7d8209f3-d5fd-4fa3-9c6c-1f5030928407 | 30222 | null | 6 | adbridge-develop #6 | FAILURE | 1529907888157 | **********************
a43f00df-a6cf-45d9-9190-fe06cfa28327 | 30222 | null | 6 | adbridge-develop #6 | FAILURE | 1529907888157 | **********************
servicename | address | matchtype | samplingtype | servicetype
------------------------+----------------------+------------+--------------+-------------
alten-training-develop | *****.*****.se:8081 | ['RegEx1'] | HTTP | Jenkins
adbridge-develop | *****.****.se:8081 | ['RegEx1'] | HTTP | Jenkins
解决方案
推荐阅读
- css - 使用css加载1秒后翻转图像
- java - 执行Java垃圾回收,但没有收到GC通知
- c# - 使用 C# windows 窗体向 Ms Access 数据库插入新记录时出现语法错误
- parquet - 在 Impala 中使用外部创建的 Parquet 文件
- python - Pandas - 从每个用户那里检索以前的结果/行
- android - 如何为顶部圆形图像附加到背景图像的背景图像提供角半径?
- express-graphql - 当我使用连接怪物点击查询时,graphQL 中出现 SQL 语法错误
- php - 在 Laravel 5.5 的帖子中显示创建日期(created_at)
- blueprism - Blueprism 中的密码恢复
- sql-server - 将访问 Last() 函数转换为 SQL 查询