小编Ant*_*ton的帖子

为什么Prometheus不适合长期存储?

我正在考虑使用 Prometheus 作为时间序列数据库来存储长时间(几个月甚至一年以上)的数据。

但是,我在一些地方读到 Prometheus 不适合长期存储,在这种情况下其他 TSDB 将是更好的解决方案。但到底为什么它不适合?使用它作为长期存储有什么缺点?

官方文档提到:

Prometheus 的本地存储并不是为了持久的长期存储;外部解决方案可提供更长的保留时间和数据持久性。

但“延长保留时间和数据持久性”到底意味着什么?为什么 Prometheus 无法实现这一目标?

database time-series prometheus

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

pymysql连接线程安全吗?pymysql游标线程安全吗?

我有一个队列数据结构,其中多个线程消耗项目,每个线程将使用 PyMySQL 写入数据库,线程之间不需要其他同步。

在所有线程中使用来自同一个 pymysql 连接的同一个游标是否可以自由竞争?

来自同一连接的每个线程使用不同的游标是否可以自由竞争?

(当然在多线程中使用多个连接是可以的,因为在这种情况下没有共享资源,我对这种情况没有兴趣)

python mysql multithreading thread-safety pymysql

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

如何从 Telethon 中的 MessageService 对象获取 Message 对象

我越来越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()工作正常?

telegram telethon

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