我正在尝试正常关闭 kafka 使用者,但脚本会因停止心跳线程而阻塞。如何使用 kafka-python 在 SIGTERM 上优雅地关闭使用者。这就是我所做的
import logger as logging
import time
import sys
from kafka import KafkaConsumer
import numpy as np
import signal
log = logging.getLogger(__name__)
class Cons:
def __init__(self):
signal.signal(signal.SIGINT, self.sigterm_handler)
signal.signal(signal.SIGTERM, self.sigterm_handler)
self.consumer = KafkaConsumer('dummy-topic', group_id='poll-test', bootstrap_servers=['b1'])
def sigterm_handler(self, signum, frame):
log.info("Sigterm handler")
self.consumer.close(autocommit=False)
sys.exit(0)
def consume(self):
try:
while True:
records = self.consumer.poll(timeout_ms=500, max_records=500)
for topic_partition, consumer_records in records.items():
for record in consumer_records:
log.info("Got Record - {}".format(record))
#code to manually commit
except ValueError as e:
log.exception("exception") …Run Code Online (Sandbox Code Playgroud) 如何仅显示UIView的角落?
let view = UIView()
view.layer.borderColor = UIColor.white.cgColor
view.layer.borderWidth = 2
let maskframe = UIView(frame: CGRect(x:0, y:0,
width:view.frame.width, height:view.frame.height))
view.layer.mask = maskframe.layer.`
Run Code Online (Sandbox Code Playgroud)
这只掩盖了右边缘,我也不明白它是如何工作的.

我是初学者。对不起,如果我的问题很幼稚。python 中的缓存工具是否适用于后续运行?
import cachetools
import time
@cachetools.cached({})
def find_sum(n):
time.sleep(5)
return n+2
print find_sum(2)
print find_sum(3)
print find_sum(2)
Run Code Online (Sandbox Code Playgroud)
因此,在第一次运行期间,第三次调用更快,但下次我运行文件时,我希望第一次调用更快并从缓存中获取结果。缓存工具可以做到这一点吗?
我正在使用字符串格式.对于英语格式是格式整洁,但对于unicode字符,格式是随意的.谁能告诉我原因?例:
form = u'{:<15}{:<3}({})'
a = [
u'?? ???????',
u'?? ????????',
u'?? ???????',
u'?? ???? ',
u'?? ???????…',
u'?? ???? ',
u'?? ????? ',
u'?? ?????? ',
u'? ?????? ',
u'?? ?????????????? ??',]
for i in range(0, 10):
print form.format(a[i][:12], 1, 2)
Run Code Online (Sandbox Code Playgroud)
而
s = [
u'abcdef',
u'akash',
u'rohit',
u'anubhav',
u'bhargav',
u'achut',
u'punnet',
u'tom',
u'rach',
u'kamal'
]
for i in range(0, 10):
print form.format(s[i][:12], 1, 2)
Run Code Online (Sandbox Code Playgroud)
python ×3
apache-kafka ×1
caching ×1
draw ×1
ios ×1
kafka-python ×1
python-3.7 ×1
swift ×1
uiview ×1