当前位置: 首页 > 知识库问答 >
问题:

Python:后台Kafka consumer offset commit

楚俊逸
2023-03-14
from kafka import KafkaConsumer

task_event = TaskEvent()

consumer = KafkaConsumer('test',bootstrap_servers=["localhost:9092"],group_id=None, auto_offset_reset='smallest')
for msg in consumer:
    print msg.offset
0 
1
2 
.
.
16

是什么决定了Kafka消费者抵消?--根据接受的答案,您在一个消费者组group1中有一个消费者已经消费了5条消息并死亡。下一次启动这个使用者时,它甚至不会使用auto.offset.reset配置,而会从它死的地方继续,因为它只会从偏移量存储中获取存储的偏移量

根据Python API文档http://kafka-python.readthedocs.io/en/master/apidoc/kafkaconsumer.html,enable_auto_commit默认为true,这意味着使用者的偏移量应该在后台提交。但是,当我停止并多次运行上述操作时,我得到的输出是相同的,如果auto_commit默认为true(假设规则对任何API都是相同的,可能是Java或Python),则不希望得到相同的输出。

多谢了。

共有1个答案

贺自明
2023-03-14

根据文档,

group_id(str或None)-要加入动态分区分配(如果启用)并用于获取和提交偏移量的使用者组的名称。如果没有,则禁用自动分区分配(通过组协调器)和偏移量提交。

在上面的代码中,组id是none。我更改了它,并给出了一个组名,并且正在提交偏移。

 类似资料:
  • 问题内容: 我有一个Python脚本,有时会向用户显示图像。图像有时可能很大,并且经常重复使用。显示它们不是关键,但显示与它们关联的消息是至关重要的。我有一个功能,可以下载所需的图像并将其保存在本地。现在,它与向用户显示消息的代码内联运行,但是对于非本地图像,有时可能会花费10秒钟以上。有没有一种方法可以在需要时调用此函数,但是在代码继续执行的同时在后台运行?我只会使用默认图像,直到正确的图像可用

  • 问题内容: 我也在读这篇文章:http : //www.python.org/dev/peps/pep-3145/ 对于我们的项目,我们有5个svn检出项需要先更新,然后才能部署我们的应用程序。在我的开发环境中,对于生产效率而言,快速部署比生产部署更为重要,我一直在努力加快流程。 我有一个运行良好的bash脚本,但有一些限制。我使用以下bash命令启动多个“ svn更新”: 这些都并行运行,并且效

  • 本文向大家介绍python脚本后台执行方式,包括了python脚本后台执行方式的使用技巧和注意事项,需要的朋友参考一下 在Linux中,可以使用nohup将脚本放置后台运行,如下: 1 但直接使用上面代码,无法在程序运行过程中查看Python中的print "computing" 输出结果,比如在每次循环中使用print语句等。原因是python的输出有缓冲,导致nohup.out不能够马上看到输

  • 问题内容: 有什么方法可以让我的Python脚本(带有无限的“ while”循环)在OS X的后台运行?另外,出于相同的目的,是否可以在USB驱动器上使用“自动运行”的python脚本? 问题答案: 如果要让脚本作为自动启动的守护进程运行,则可以使用launchctl和plist文件。 例如,Bob有一个简单的python脚本,该脚本每秒在其主目录中将单词’foo’写入文件: 要使其作为守护进程运

  • 7.1 ABP后台服务 - 后台作业和后台工人 7.1.1 简介 ABP提供了后台作业和后台工人,来执行应用程序中的后台线程的某些任务。 7.1.2 后台作业 由于各种各样的原因,你需要后台作业以队列和持久化的方式来排队执行某些任务。 例如: 用户等待执行一个长时任务。例如:某个用户按下了报表按钮生成一个需要长时间等待的报表。你添加这个工作到队列中,当报表生成完毕后,发送报表结果到该用户的邮箱。

  • 问题内容: 我有一个脚本,每5分钟检查一次PC上的内容,并且我不希望Python显示在任务栏上。我使用Windows作为操作系统。 有什么方法可以让Python在后台运行并强制其不在我的任务栏中显示? 问题答案: 在控制面板中查找计划任务。