Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
28fcb9a0
T
TDengine
项目概览
taosdata
/
TDengine
大约 2 年 前同步成功
通知
1192
Star
22018
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看板
“2605b1c00a330a03985c7e9946ee0680f8e30bf2”上不存在“ppocr/git@gitcode.net:s920243400/PaddleOCR.git”
提交
28fcb9a0
编写于
8月 16, 2022
作者:
H
Hongze Cheng
浏览文件
操作
浏览文件
下载
差异文件
Merge branch '3.0' of
https://github.com/taosdata/TDengine
into refact/tsdb_last
上级
68b74503
8867a295
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
97 addition
and
57 deletion
+97
-57
docs/zh/05-get-started/03-package.md
docs/zh/05-get-started/03-package.md
+6
-0
docs/zh/07-develop/07-tmq.mdx
docs/zh/07-develop/07-tmq.mdx
+83
-5
source/common/CMakeLists.txt
source/common/CMakeLists.txt
+5
-0
source/common/src/tglobal.c
source/common/src/tglobal.c
+3
-52
未找到文件。
docs/zh/05-get-started/03-package.md
浏览文件 @
28fcb9a0
...
...
@@ -7,8 +7,14 @@ import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";
import PkgListV3 from "/components/PkgListV3";
TDengine 完整的软件包包括服务端(taosd)、用于与第三方系统对接并提供 RESTful 接口的 taosAdapter、应用驱动(taosc)、命令行程序 (CLI,taos) 和一些工具软件,目前服务端 taosd 和 taosAdapter 仅在 Linux 系统上安装和运行,后续将支持 Windows、macOS 等系统。应用驱动 taosc 与 TDengine CLI 可以在 Windows 或 Linux 上安装和运行。TDengine 除了提供多种语言的连接器之外,还通过
[
taosAdapter
](
../reference/taosadapter/
)
提供
[
RESTful 接口
](
../reference/rest-api/
)
。
在 Linux 系统上,TDengine 开源版本提供 deb 和 rpm 格式安装包,用户可以根据自己的运行环境选择合适的安装包。其中 deb 支持 Debian/Ubuntu 及衍生系统,rpm 支持 CentOS/RHEL/SUSE 及衍生系统。同时我们也为企业用户提供 tar.gz 格式安装包,也支持通过
`apt-get`
工具从线上进行安装。TDengine 也提供 Windows x64 平台的安装包。您也可以
[
用Docker立即体验
](
../../get-started/docker/
)
。如果您希望对 TDengine 贡献代码或对内部实现感兴趣,请参考我们的
[
TDengine GitHub 主页
](
https://github.com/taosdata/TDengine
)
下载源码构建和安装.
为方便使用,标准的服务端安装包包含了 taos、taosd、taosAdapter、taosdump、taosBenchmark、TDinsight 安装脚本和示例代码;如果您只需要用到服务端程序和客户端连接的 C/C++ 语言支持,也可以仅下载 lite 版本的安装包。
在安装包格式上,我们提供 tar.gz, rpm 和 deb 格式,为企业客户提供 tar.gz 格式安装包,以方便在特定操作系统上使用。需要注意的是,rpm 和 deb 包不含 taosdump 和 TDinsight 安装脚本,这些工具需要通过安装 taosTool 包获得。
## 安装
<Tabs>
...
...
docs/zh/07-develop/07-tmq.mdx
浏览文件 @
28fcb9a0
...
...
@@ -134,7 +134,7 @@ func (c *Consumer) Unsubscribe() error
<TabItem value="C#" label="C#">
```
C#
```
csharp
ConsumerBuilder(IEnumerable<KeyValuePair<string, string>> config)
virtual IConsumer Build()
...
...
@@ -158,6 +158,26 @@ void Close()
</TabItem>
<TabItem label="Node.JS" value="Node.JS">
```node
function TMQConsumer(config)
function subscribe(topic)
function consume(timeout)
function subscription()
function unsubscribe()
function commit(msg)
function close()
```
</TabItem>
</Tabs>
## 写入数据
...
...
@@ -376,7 +396,7 @@ if err != nil {
<TabItem value="C#" label="C#">
```
C#
```
csharp
using TDengineTMQ;
// 根据需要,设置消费组 (GourpId)、自动提交 (EnableAutoCommit)、
...
...
@@ -400,6 +420,28 @@ var consumer = new ConsumerBuilder(cfg).Build();
</TabItem>
<TabItem label="Node.JS" value="Node.JS">
``` node
// 根据需要,设置消费组 (group.id)、自动提交 (enable.auto.commit)、
// 自动提交时间间隔 (auto.commit.interval.ms)、用户名 (td.connect.user)、密码 (td.connect.pass) 等参数
let consumer = taos.consumer({
'enable.auto.commit': 'true',
'auto.commit.interval.ms','1000',
'group.id': 'tg2',
'td.connect.user': 'root',
'td.connect.pass': 'taosdata',
'auto.offset.reset','earliest',
'msg.with.table.name': 'true',
'td.connect.ip','127.0.0.1',
'td.connect.port','6030'
});
```
</TabItem>
</Tabs>
上述配置中包括 consumer group ID,如果多个 consumer 指定的 consumer group ID 一样,则自动形成一个 consumer group,共享消费进度。
...
...
@@ -448,7 +490,7 @@ if err != nil {
<TabItem value="C#" label="C#">
```
C#
```
csharp
// 创建订阅 topics 列表
List<String> topics = new List<string>();
topics.add("tmq_topic");
...
...
@@ -464,6 +506,18 @@ consumer = TaosConsumer('topic_ctb_column', group_id='vg2')
```
</TabItem>
<TabItem label="Node.JS" value="Node.JS">
```node
// 创建订阅 topics 列表
let topics = ['topic_test']
// 启动订阅
consumer.subscribe(topics);
```
</TabItem>
</Tabs>
## 消费
...
...
@@ -523,7 +577,7 @@ for {
<TabItem value="C#" label="C#">
```
C#
```
csharp
// 消费数据
while (true)
{
...
...
@@ -535,6 +589,21 @@ while (true)
```
</TabItem>
<TabItem label="Node.JS" value="Node.JS">
```node
while(true){
msg = consumer.consume(200);
// process message(consumeResult)
console.log(msg.topicPartition);
console.log(msg.block);
console.log(msg.fields)
}
```
</TabItem>
</Tabs>
## 结束消费
...
...
@@ -585,7 +654,7 @@ consumer.Close()
</TabItem>
<TabItem value="C#" label="C#">
```
C#
```
csharp
// 取消订阅
consumer.Unsubscribe();
...
...
@@ -594,6 +663,15 @@ consumer.Close();
```
</TabItem>
<TabItem label="Node.JS" value="Node.JS">
```node
consumer.unsubscribe();
consumer.close();
```
</TabItem>
</Tabs>
## 删除 *topic*
...
...
source/common/CMakeLists.txt
浏览文件 @
28fcb9a0
...
...
@@ -9,6 +9,11 @@ IF (TD_GRANT)
ADD_DEFINITIONS
(
-D_GRANT
)
ENDIF
()
IF
(
TD_STORAGE
)
ADD_DEFINITIONS
(
-D_STORAGE
)
TARGET_LINK_LIBRARIES
(
common PRIVATE storage
)
ENDIF
()
target_include_directories
(
common
PUBLIC
"
${
TD_SOURCE_DIR
}
/include/common"
...
...
source/common/src/tglobal.c
浏览文件 @
28fcb9a0
...
...
@@ -165,58 +165,9 @@ int32_t tsTtlUnit = 86400;
int32_t
tsTtlPushInterval
=
86400
;
int32_t
tsGrantHBInterval
=
60
;
void
taosAddDataDir
(
int32_t
index
,
char
*
v1
,
int32_t
level
,
int32_t
primary
)
{
tstrncpy
(
tsDiskCfg
[
index
].
dir
,
v1
,
TSDB_FILENAME_LEN
);
tsDiskCfg
[
index
].
level
=
level
;
tsDiskCfg
[
index
].
primary
=
primary
;
uTrace
(
"dataDir:%s, level:%d primary:%d is configured"
,
v1
,
level
,
primary
);
}
static
int32_t
taosSetTfsCfg
(
SConfig
*
pCfg
)
{
SConfigItem
*
pItem
=
cfgGetItem
(
pCfg
,
"dataDir"
);
memset
(
tsDataDir
,
0
,
PATH_MAX
);
int32_t
size
=
taosArrayGetSize
(
pItem
->
array
);
if
(
size
<=
0
)
{
tsDiskCfgNum
=
1
;
taosAddDataDir
(
0
,
pItem
->
str
,
0
,
1
);
tstrncpy
(
tsDataDir
,
pItem
->
str
,
PATH_MAX
);
if
(
taosMulMkDir
(
tsDataDir
)
!=
0
)
{
uError
(
"failed to create dataDir:%s since %s"
,
tsDataDir
,
terrstr
());
return
-
1
;
}
}
else
{
tsDiskCfgNum
=
size
<
TFS_MAX_DISKS
?
size
:
TFS_MAX_DISKS
;
for
(
int32_t
index
=
0
;
index
<
tsDiskCfgNum
;
++
index
)
{
SDiskCfg
*
pCfg
=
taosArrayGet
(
pItem
->
array
,
index
);
memcpy
(
&
tsDiskCfg
[
index
],
pCfg
,
sizeof
(
SDiskCfg
));
if
(
pCfg
->
level
==
0
&&
pCfg
->
primary
==
1
)
{
tstrncpy
(
tsDataDir
,
pCfg
->
dir
,
PATH_MAX
);
}
if
(
taosMulMkDir
(
pCfg
->
dir
)
!=
0
)
{
uError
(
"failed to create tfsDir:%s since %s"
,
tsDataDir
,
terrstr
());
return
-
1
;
}
}
}
if
(
tsDataDir
[
0
]
==
0
)
{
if
(
pItem
->
str
!=
NULL
)
{
taosAddDataDir
(
tsDiskCfgNum
,
pItem
->
str
,
0
,
1
);
tstrncpy
(
tsDataDir
,
pItem
->
str
,
PATH_MAX
);
if
(
taosMulMkDir
(
tsDataDir
)
!=
0
)
{
uError
(
"failed to create tfsDir:%s since %s"
,
tsDataDir
,
terrstr
());
return
-
1
;
}
tsDiskCfgNum
++
;
}
else
{
uError
(
"datadir not set"
);
return
-
1
;
}
}
return
0
;
}
#ifndef _STORAGE
int32_t
taosSetTfsCfg
(
SConfig
*
pCfg
)
{
return
0
;
}
#endif
struct
SConfig
*
taosGetCfg
()
{
return
tsCfg
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录