当设置超时调用时,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) 我最近正在做一些内核编码,发现了 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) 现在我有一些unicode文字字符串,如"\\ u0061",默认情况下解释为6个unicode字符.如何将其转换为unicode字符'a'?
python ×2
apache-kafka ×1
c ×1
encoding ×1
linux ×1
linux-kernel ×1
python-3.x ×1
system-calls ×1
x86 ×1