我正在考虑使用 Prometheus 作为时间序列数据库来存储长时间(几个月甚至一年以上)的数据。
但是,我在一些地方读到 Prometheus 不适合长期存储,在这种情况下其他 TSDB 将是更好的解决方案。但到底为什么它不适合?使用它作为长期存储有什么缺点?
官方文档提到:
Prometheus 的本地存储并不是为了持久的长期存储;外部解决方案可提供更长的保留时间和数据持久性。
但“延长保留时间和数据持久性”到底意味着什么?为什么 Prometheus 无法实现这一目标?
我有一个队列数据结构,其中多个线程消耗项目,每个线程将使用 PyMySQL 写入数据库,线程之间不需要其他同步。
在所有线程中使用来自同一个 pymysql 连接的同一个游标是否可以自由竞争?
来自同一连接的每个线程使用不同的游标是否可以自由竞争?
(当然在多线程中使用多个连接是可以的,因为在这种情况下没有共享资源,我对这种情况没有兴趣)
我越来越TypeError: 'MessageService' object is not iterable
首先,我使用iter_messages client返回生成器对象的方法保存来自通道的最后 10 条消息telethon.sync._SyncGen。然后我迭代这个生成器,并尝试通过的方法将每条消息 ( msg) 发送给用户 ( ) ,该方法可以采用或 telethon对象作为消息参数。usernameclientsend_messagestrMessage
然而,我msg这里的对象不是Message类的实例,而是MessageService类(https://lonamiwebs.github.io/Telethon/constructors/message_service.html),我认为这就是我收到错误的原因。
message_objects = client.iter_messages(channel_name, limit=10)
for msg in message_objects:
client.send_message(username, msg)
Run Code Online (Sandbox Code Playgroud)
我的问题是如何获取Message对象而不是MessageService为了避免错误并使client.send_message()工作正常?
database ×1
mysql ×1
prometheus ×1
pymysql ×1
python ×1
telegram ×1
telethon ×1
time-series ×1