小编Jay*_*Jay的帖子

当官方控制台消费者正常工作时,汇合的kafka python Consumer.poll() 总是返回 None

当设置超时调用时,confluence-kafka python 客户端的实例Consumer始终返回 None 。poll()

该主题确实包含一些消息,并且官方控制台消费者工作正常:

$ vim ~/client.properties

security.protocol=SASL_PLAINTEXT
sasl.mechanism=SCRAM-SHA-512
sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required username=XXXXXXXXXX password="XXXXXXXXXX";

$ ~/kafka_2.13-2.4.0/bin/kafka-console-consumer.sh --topic my_topic --bootstrap-server somehost.:30742 --from-beginning --consumer.config ~/client.properties --group somenewgroup
msg1
msg2
msg3
Run Code Online (Sandbox Code Playgroud)

Consumer.poll()方法总是返回 None。即使当我将密码或主机更改为无效值时,它也会返回 None 。

我为消费者设置了一个记录器,但没有记录任何内容。

python代码如下

consumer=Consumer({'sasl.mechanisms': "SCRAM-SHA-512",
                   'security.protocol': 'SASL_PLAINTEXT',
                   'sasl.username': 'XXXXXXXXXX',
                   'sasl.password': 'XXXXXXXXXX',
                   'bootstrap.servers': 'somehost.:30742',
                   "group.id":"somenewgroup",
                   'auto.offset.reset': 'beginning',
                   'logger':logger
                   },logger=logger)

consumer.subscribe(["my_topic"])

while True:
    msg = consumer.poll(timeout=1.0)
    print("poll success")
    if msg is None:print("msg is None!")
Run Code Online (Sandbox Code Playgroud)

python apache-kafka kafka-consumer-api confluent-platform

7
推荐指数
0
解决办法
1348
查看次数

哪个系统调用号头文件是正确的?

我最近正在做一些内核编码,发现了 2 个unistd.h文件。

第一个的位置是/usr/include/asm/unistd.h。第二个来自内核的源代码:linux/include/uapi/asm-generic/unistd.h。源代码的版本与我的内核版本相同,但两个头文件彼此不同。

/usr/include/asm/unistd.h(来自我的电脑):

#define __NR_read 0
#define __NR_write 1
#define __NR_open 2
#define __NR_close 3
#define __NR_stat 4
#define __NR_fstat 5
#define __NR_lstat 6
#define __NR_poll 7
#define __NR_lseek 8
#define __NR_mmap 9
Run Code Online (Sandbox Code Playgroud)

linux/include/uapi/asm-generic/unistd.h(来自来源):

#define __NR_io_setup 0
__SC_COMP(__NR_io_setup, sys_io_setup, compat_sys_io_setup)
#define __NR_io_destroy 1
__SYSCALL(__NR_io_destroy, sys_io_destroy)
#define __NR_io_submit 2
__SC_COMP(__NR_io_submit, sys_io_submit, compat_sys_io_submit)
#define __NR_io_cancel 3
__SYSCALL(__NR_io_cancel, sys_io_cancel)
#define __NR_io_getevents 4
__SC_COMP(__NR_io_getevents, sys_io_getevents, compat_sys_io_getevents)

/* fs/xattr.c */
#define __NR_setxattr 5
__SYSCALL(__NR_setxattr, sys_setxattr) …
Run Code Online (Sandbox Code Playgroud)

c linux x86 system-calls linux-kernel

4
推荐指数
1
解决办法
3288
查看次数

Python3将unicode文字字符串解释为unicode字符

现在我有一些unicode文字字符串,如"\\ u0061",默认情况下解释为6个unicode字符.如何将其转换为unicode字符'a'?

python encoding python-3.x

1
推荐指数
1
解决办法
87
查看次数