Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
dbf93120
T
TDengine
项目概览
taosdata
/
TDengine
大约 1 年 前同步成功
通知
1184
Star
22015
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
dbf93120
编写于
8月 16, 2022
作者:
Y
Yang Zhao
提交者:
GitHub
8月 16, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Update 07-tmq.mdx
上级
8d36afe6
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
15 addition
and
93 deletion
+15
-93
docs/zh/07-develop/07-tmq.mdx
docs/zh/07-develop/07-tmq.mdx
+15
-93
未找到文件。
docs/zh/07-develop/07-tmq.mdx
浏览文件 @
dbf93120
...
@@ -92,102 +92,21 @@ void close() throws SQLException;
...
@@ -92,102 +92,21 @@ void close() throws SQLException;
<TabItem value="Python" label="Python">
<TabItem value="Python" label="Python">
```python
```python
class TaosConsumer():
class TaosConsumer():
DEFAULT_CONFIG = {
def __init__(self, *topics, **configs)
'group.id',
'client.id',
'enable.auto.commit',
'auto.commit.interval.ms',
'auto.offset.reset',
'msg.with.table.name',
'experimental.snapshot.enable',
'enable.heartbeat.background',
'experimental.snapshot.batch.size',
'td.connect.ip',
'td.connect.user',
'td.connect.pass',
'td.connect.port',
'td.connect.db',
'timeout'
}
def __init__(self, *topics, **configs):
self._closed = True
self._conf = None
self._list = None
self._tmq = None
keys = list(configs.keys())
for k in keys:
configs.update({k.replace('_','.'): configs.pop(k)})
extra_configs = set(configs).difference(self.DEFAULT_CONFIG)
if extra_configs:
raise TmqError("Unrecognized configs: %s" % (extra_configs,))
self._conf = tmq_conf_new()
self._list = tmq_list_new()
# set poll timeout
if 'timeout' in configs:
self._timeout = configs['timeout']
del configs['timeout']
else:
self._timeout = 0
# check if group id is set
if 'group.id' not in configs:
raise TmqError("missing group.id in consumer config setting")
for key, value in configs.items():
def __iter__(self)
tmq_conf_set(self._conf, key, value)
self._tmq = tmq_consumer_new(self._con
f)
def __next__(sel
f)
if not topics:
def sync_next(self)
raise TmqError("Unset topic for Consumer")
for topic in topics:
def subscription(self)
tmq_list_append(self._list, topic)
tmq_subscribe(self._tmq, self._list
)
def unsubscribe(self
)
def close(self)
def __iter__(self):
def __del__(self)
return self
def __next__(self):
if not self._tmq:
raise StopIteration('TaosConsumer closed')
return next(self.sync_next())
def sync_next(self):
while 1:
res = tmq_consumer_poll(self._tmq, self._timeout)
if res:
break
yield TaosResult(res)
def subscription(self):
if self._tmq is None:
return None
return tmq_subscription(self._tmq)
def unsubscribe(self):
tmq_unsubscribe(self._tmq)
def close(self):
if self._tmq:
tmq_consumer_close(self._tmq)
self._tmq = None
def __del__(self):
if self._conf:
tmq_conf_destroy(self._conf)
if self._list:
tmq_list_destroy(self._list)
if self._tmq:
tmq_consumer_close(self._tmq)
```
```
</TabItem>
</TabItem>
<TabItem label="Go" value="Go">
<TabItem label="Go" value="Go">
...
@@ -354,6 +273,8 @@ public class MetersDeserializer extends ReferenceDeserializer<Meters> {
...
@@ -354,6 +273,8 @@ public class MetersDeserializer extends ReferenceDeserializer<Meters> {
<TabItem value="Python" label="Python">
<TabItem value="Python" label="Python">
Python 使用以下配置项创建一个 Consumer 实例。
| 参数名称 | 类型 | 参数说明 | 备注 |
| 参数名称 | 类型 | 参数说明 | 备注 |
| :----------------------------: | :-----: | -------------------------------------------------------- | ------------------------------------------- |
| :----------------------------: | :-----: | -------------------------------------------------------- | ------------------------------------------- |
| `td_connect_ip` | string | 用于创建连接,同 `taos_connect` | |
| `td_connect_ip` | string | 用于创建连接,同 `taos_connect` | |
...
@@ -368,6 +289,7 @@ public class MetersDeserializer extends ReferenceDeserializer<Meters> {
...
@@ -368,6 +289,7 @@ public class MetersDeserializer extends ReferenceDeserializer<Meters> {
| `enable_heartbeat_background` | string | 启用后台心跳,启用后即使长时间不 poll 消息也不会造成离线 | 合法值:`true`, `false` |
| `enable_heartbeat_background` | string | 启用后台心跳,启用后即使长时间不 poll 消息也不会造成离线 | 合法值:`true`, `false` |
| `experimental_snapshot_enable` | string | 从 WAL 开始消费,还是从 TSBS 开始消费 | 合法值:`true`, `false` |
| `experimental_snapshot_enable` | string | 从 WAL 开始消费,还是从 TSBS 开始消费 | 合法值:`true`, `false` |
| `msg_with_table_name` | string | 是否允许从消息中解析表名 | 合法值:`true`, `false` |
| `msg_with_table_name` | string | 是否允许从消息中解析表名 | 合法值:`true`, `false` |
| `timeout` | int | 消费者拉去的超时时间 | |
</TabItem>
</TabItem>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录