我想返回一個數組。python代碼後終於沒有運行
我可以將消息數組打印到控制檯,我可以看到它已填充。 但是終於出現的代碼似乎無法訪問。我究竟做錯了什麼?
def kafka_messages(topic, partition):
messages = []
try:
consumer = SimpleConsumer(kafka, b"consumer-group"
, bytes(topic, "UTF-8")
, partitions=[partition])
consumer.provide_partition_info()
consumer.seek(0, 0)
for message in consumer:
messages.append(message) # Messages has values
finally:
if kafka:
kafka.close()
print(messages) # Never even gets run
return messages
是什麼'kafka.close()'做什麼?它可能掛?或者「消費者」迭代器可能是無窮無盡的? – 2014-11-03 14:02:00
'''consumer'''迭代器似乎是無限的 – Lee 2014-11-03 14:07:52
看起來像代碼中的某處,異常被吞噬。在'finally:'之前直接添加一個'print()'語句,這樣你就可以確保循環正常終止 – 2014-11-03 14:09:23