docs: update go and c# example
This commit is contained in:
parent
15ef067070
commit
0cd09c02de
|
@ -152,41 +152,24 @@ namespace TMQExample
|
|||
{
|
||||
// get assignment
|
||||
var assignment = consumer.Assignment;
|
||||
Console.WriteLine($"now assignment: ${assignment}");
|
||||
Console.WriteLine($"now assignment: {assignment}");
|
||||
// seek to the beginning
|
||||
foreach (var topicPartition in assignment)
|
||||
{
|
||||
consumer.Seek(new TopicPartitionOffset(topicPartition.Topic, topicPartition.Partition, 0));
|
||||
}
|
||||
Console.WriteLine("assignment seek to beginning successfully");
|
||||
// poll data again
|
||||
for (int i = 0; i < 50; i++)
|
||||
{
|
||||
// consume message with using block to ensure the result is disposed
|
||||
using (var cr = consumer.Consume(100))
|
||||
{
|
||||
if (cr == null) continue;
|
||||
foreach (var message in cr.Message)
|
||||
{
|
||||
// handle message
|
||||
Console.WriteLine(
|
||||
$"second data polled: {{{((DateTime)message.Value["ts"]).ToString("yyyy-MM-dd HH:mm:ss.fff")}, " +
|
||||
$"{message.Value["current"]}, {message.Value["voltage"]}, {message.Value["phase"]}}}");
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
Console.WriteLine("Assignment seek to beginning successfully");
|
||||
}
|
||||
catch (TDengineError e)
|
||||
{
|
||||
// handle TDengine error
|
||||
Console.WriteLine("seek example failed; ErrCode:" + e.Code + "; ErrMessage: " + e.Error);
|
||||
Console.WriteLine("Seek example failed; ErrCode:" + e.Code + "; ErrMessage: " + e.Error);
|
||||
throw;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
// handle other exceptions
|
||||
Console.WriteLine("seek example failed; ErrMessage: " + e.Message);
|
||||
Console.WriteLine("Seek example failed; ErrMessage: " + e.Message);
|
||||
throw;
|
||||
}
|
||||
// ANCHOR_END: seek
|
||||
|
@ -208,7 +191,7 @@ namespace TMQExample
|
|||
{
|
||||
cr.TopicPartitionOffset,
|
||||
});
|
||||
Console.WriteLine("commit offset manually successfully.");
|
||||
Console.WriteLine("Commit offset manually successfully.");
|
||||
}
|
||||
}
|
||||
catch (TDengineError e)
|
||||
|
@ -251,7 +234,7 @@ namespace TMQExample
|
|||
{
|
||||
// close consumer
|
||||
consumer.Close();
|
||||
Console.WriteLine("consumer closed successfully.");
|
||||
Console.WriteLine("Consumer closed successfully.");
|
||||
}
|
||||
// ANCHOR_END: close
|
||||
}
|
||||
|
|
|
@ -118,7 +118,7 @@ namespace TMQExample
|
|||
{
|
||||
// subscribe
|
||||
consumer.Subscribe(new List<string>() { "topic_meters" });
|
||||
Console.WriteLine("subscribe topics successfully");
|
||||
Console.WriteLine("Subscribe topics successfully");
|
||||
for (int i = 0; i < 50; i++)
|
||||
{
|
||||
// consume message with using block to ensure the result is disposed
|
||||
|
@ -157,42 +157,24 @@ namespace TMQExample
|
|||
{
|
||||
// get assignment
|
||||
var assignment = consumer.Assignment;
|
||||
Console.WriteLine($"now assignment: ${assignment}");
|
||||
Console.WriteLine($"Now assignment: {assignment}");
|
||||
// seek to the beginning
|
||||
foreach (var topicPartition in assignment)
|
||||
{
|
||||
consumer.Seek(new TopicPartitionOffset(topicPartition.Topic, topicPartition.Partition, 0));
|
||||
}
|
||||
Console.WriteLine("assignment seek to beginning successfully");
|
||||
// poll data again
|
||||
for (int i = 0; i < 50; i++)
|
||||
{
|
||||
// consume message with using block to ensure the result is disposed
|
||||
using (var cr = consumer.Consume(100))
|
||||
{
|
||||
if (cr == null) continue;
|
||||
foreach (var message in cr.Message)
|
||||
{
|
||||
// handle message
|
||||
Console.WriteLine(
|
||||
$"second data polled: {{{((DateTime)message.Value["ts"]).ToString("yyyy-MM-dd HH:mm:ss.fff")}, " +
|
||||
$"{message.Value["current"]}, {message.Value["voltage"]}, {message.Value["phase"]}}}");
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
Console.WriteLine("Assignment seek to beginning successfully");
|
||||
}
|
||||
catch (TDengineError e)
|
||||
{
|
||||
// handle TDengine error
|
||||
Console.WriteLine("seek example failed; ErrCode:" + e.Code + "; ErrMessage: " + e.Error);
|
||||
Console.WriteLine("Seek example failed; ErrCode:" + e.Code + "; ErrMessage: " + e.Error);
|
||||
throw;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
// handle other exceptions
|
||||
Console.WriteLine("seek example failed; ErrMessage: " + e.Message);
|
||||
Console.WriteLine("Seek example failed; ErrMessage: " + e.Message);
|
||||
throw;
|
||||
}
|
||||
// ANCHOR_END: seek
|
||||
|
@ -214,7 +196,7 @@ namespace TMQExample
|
|||
{
|
||||
cr.TopicPartitionOffset,
|
||||
});
|
||||
Console.WriteLine("commit offset manually successfully.");
|
||||
Console.WriteLine("Commit offset manually successfully.");
|
||||
}
|
||||
}
|
||||
catch (TDengineError e)
|
||||
|
@ -257,7 +239,7 @@ namespace TMQExample
|
|||
{
|
||||
// close consumer
|
||||
consumer.Close();
|
||||
Console.WriteLine("consumer closed successfully.");
|
||||
Console.WriteLine("Consumer closed successfully.");
|
||||
}
|
||||
// ANCHOR_END: close
|
||||
}
|
||||
|
|
|
@ -50,7 +50,7 @@ func main() {
|
|||
if err != nil {
|
||||
log.Fatalln("Failed to subscribe, host : " + host + "; ErrMessage: " + err.Error())
|
||||
}
|
||||
log.Println("subscribe topics successfully")
|
||||
log.Println("Subscribe topics successfully")
|
||||
for i := 0; i < 50; i++ {
|
||||
ev := consumer.Poll(100)
|
||||
if ev != nil {
|
||||
|
@ -64,7 +64,7 @@ func main() {
|
|||
if err != nil {
|
||||
log.Fatalln("Failed to commit offset, host : " + host + "; ErrMessage: " + err.Error())
|
||||
}
|
||||
log.Println("commit offset manually successfully.")
|
||||
log.Println("Commit offset manually successfully.")
|
||||
// ANCHOR_END: commit_offset
|
||||
case tmqcommon.Error:
|
||||
fmt.Printf("%% Error: %v: %v\n", e.Code(), e)
|
||||
|
@ -77,9 +77,9 @@ func main() {
|
|||
// get assignment
|
||||
partitions, err := consumer.Assignment()
|
||||
if err != nil {
|
||||
log.Fatal("failed to get assignment, err:", err)
|
||||
log.Fatal("Failed to get assignment; ErrMessage: " + err.Error())
|
||||
}
|
||||
fmt.Println("now assignment:", partitions)
|
||||
fmt.Println("Now assignment:", partitions)
|
||||
for i := 0; i < len(partitions); i++ {
|
||||
// seek to the beginning
|
||||
err = consumer.Seek(tmqcommon.TopicPartition{
|
||||
|
@ -88,29 +88,10 @@ func main() {
|
|||
Offset: 0,
|
||||
}, 0)
|
||||
if err != nil {
|
||||
log.Fatalln("seek example failed; ErrMessage: " + err.Error())
|
||||
}
|
||||
}
|
||||
fmt.Println("assignment seek to beginning successfully")
|
||||
// poll data again
|
||||
gotData := false
|
||||
for i := 0; i < 50; i++ {
|
||||
if gotData {
|
||||
break
|
||||
}
|
||||
ev := consumer.Poll(100)
|
||||
if ev != nil {
|
||||
switch e := ev.(type) {
|
||||
case *tmqcommon.DataMessage:
|
||||
// process your data here
|
||||
fmt.Printf("second data polled:%v\n", e)
|
||||
gotData = true
|
||||
case tmqcommon.Error:
|
||||
fmt.Printf("%% Error: %v: %v\n", e.Code(), e)
|
||||
log.Fatal("failed to get message, err:", e)
|
||||
}
|
||||
log.Fatalln("Seek example failed; ErrMessage: " + err.Error())
|
||||
}
|
||||
}
|
||||
fmt.Println("Assignment seek to beginning successfully")
|
||||
// ANCHOR_END: seek
|
||||
// ANCHOR: close
|
||||
// unsubscribe
|
||||
|
@ -130,22 +111,22 @@ func main() {
|
|||
func initEnv(conn *sql.DB) {
|
||||
_, err := conn.Exec("CREATE DATABASE IF NOT EXISTS power")
|
||||
if err != nil {
|
||||
log.Fatal("failed to create database, err:", err)
|
||||
log.Fatal("Failed to create database. ErrMessage: " + err.Error())
|
||||
}
|
||||
_, err = conn.Exec("CREATE STABLE IF NOT EXISTS power.meters (ts TIMESTAMP, current FLOAT, voltage INT, phase FLOAT) TAGS (groupId INT, location BINARY(24))")
|
||||
if err != nil {
|
||||
log.Fatal("failed to create stable, err:", err)
|
||||
log.Fatal("Failed to create stable. ErrMessage: " + err.Error())
|
||||
}
|
||||
_, err = conn.Exec("CREATE TOPIC IF NOT EXISTS topic_meters AS SELECT ts, current, voltage, phase, groupid, location FROM power.meters")
|
||||
if err != nil {
|
||||
log.Fatal("failed to create topic, err:", err)
|
||||
log.Fatal("Failed to create topic. ErrMessage: " + err.Error())
|
||||
}
|
||||
go func() {
|
||||
for i := 0; i < 10; i++ {
|
||||
time.Sleep(time.Second)
|
||||
_, err = conn.Exec("INSERT INTO power.d1001 USING power.meters TAGS (2, 'California.SanFrancisco') VALUES (NOW , 10.2, 219, 0.32)")
|
||||
if err != nil {
|
||||
log.Fatal("failed to insert data, err:", err)
|
||||
log.Fatal("Failed to insert data. ErrMessage: " + err.Error())
|
||||
}
|
||||
}
|
||||
done <- struct{}{}
|
||||
|
|
|
@ -55,7 +55,7 @@ func main() {
|
|||
if err != nil {
|
||||
log.Fatalln("Failed to subscribe, host : " + wsUrl + "; ErrMessage: " + err.Error())
|
||||
}
|
||||
log.Println("subscribe topics successfully")
|
||||
log.Println("Subscribe topics successfully")
|
||||
for i := 0; i < 50; i++ {
|
||||
ev := consumer.Poll(100)
|
||||
if ev != nil {
|
||||
|
@ -69,7 +69,7 @@ func main() {
|
|||
if err != nil {
|
||||
log.Fatalln("Failed to commit offset, host : " + wsUrl + "; ErrMessage: " + err.Error())
|
||||
}
|
||||
log.Println("commit offset manually successfully.")
|
||||
log.Println("Commit offset manually successfully.")
|
||||
// ANCHOR_END: commit_offset
|
||||
case tmqcommon.Error:
|
||||
fmt.Printf("%% Error: %v: %v\n", e.Code(), e)
|
||||
|
@ -82,9 +82,9 @@ func main() {
|
|||
// get assignment
|
||||
partitions, err := consumer.Assignment()
|
||||
if err != nil {
|
||||
log.Fatal("failed to get assignment, err:", err)
|
||||
log.Fatal("Failed to get assignment; ErrMessage: " + err.Error())
|
||||
}
|
||||
fmt.Println("now assignment:", partitions)
|
||||
fmt.Println("Now assignment:", partitions)
|
||||
for i := 0; i < len(partitions); i++ {
|
||||
// seek to the beginning
|
||||
err = consumer.Seek(tmqcommon.TopicPartition{
|
||||
|
@ -93,29 +93,10 @@ func main() {
|
|||
Offset: 0,
|
||||
}, 0)
|
||||
if err != nil {
|
||||
log.Fatalln("seek example failed; ErrMessage: " + err.Error())
|
||||
}
|
||||
}
|
||||
fmt.Println("assignment seek to beginning successfully")
|
||||
// poll data again
|
||||
gotData := false
|
||||
for i := 0; i < 50; i++ {
|
||||
if gotData {
|
||||
break
|
||||
}
|
||||
ev := consumer.Poll(100)
|
||||
if ev != nil {
|
||||
switch e := ev.(type) {
|
||||
case *tmqcommon.DataMessage:
|
||||
// process your data here
|
||||
fmt.Printf("second data polled:%v\n", e)
|
||||
gotData = true
|
||||
case tmqcommon.Error:
|
||||
fmt.Printf("%% Error: %v: %v\n", e.Code(), e)
|
||||
log.Fatal("failed to get message, err:", e)
|
||||
}
|
||||
log.Fatalln("Seek example failed; ErrMessage: " + err.Error())
|
||||
}
|
||||
}
|
||||
fmt.Println("Assignment seek to beginning successfully")
|
||||
// ANCHOR_END: seek
|
||||
// ANCHOR: close
|
||||
// unsubscribe
|
||||
|
@ -135,22 +116,22 @@ func main() {
|
|||
func initEnv(conn *sql.DB) {
|
||||
_, err := conn.Exec("CREATE DATABASE IF NOT EXISTS power")
|
||||
if err != nil {
|
||||
log.Fatal("failed to create database, err:", err)
|
||||
log.Fatal("Failed to create database. ErrMessage: " + err.Error())
|
||||
}
|
||||
_, err = conn.Exec("CREATE STABLE IF NOT EXISTS power.meters (ts TIMESTAMP, current FLOAT, voltage INT, phase FLOAT) TAGS (groupId INT, location BINARY(24))")
|
||||
if err != nil {
|
||||
log.Fatal("failed to create stable, err:", err)
|
||||
log.Fatal("Failed to create stable. ErrMessage: " + err.Error())
|
||||
}
|
||||
_, err = conn.Exec("CREATE TOPIC IF NOT EXISTS topic_meters AS SELECT ts, current, voltage, phase, groupid, location FROM power.meters")
|
||||
if err != nil {
|
||||
log.Fatal("failed to create topic, err:", err)
|
||||
log.Fatal("Failed to create topic. ErrMessage: " + err.Error())
|
||||
}
|
||||
go func() {
|
||||
for i := 0; i < 10; i++ {
|
||||
time.Sleep(time.Second)
|
||||
_, err = conn.Exec("INSERT INTO power.d1001 USING power.meters TAGS (2, 'California.SanFrancisco') VALUES (NOW , 10.2, 219, 0.32)")
|
||||
if err != nil {
|
||||
log.Fatal("failed to insert data, err:", err)
|
||||
log.Fatal("Failed to insert data. ErrMessage: " + err.Error())
|
||||
}
|
||||
}
|
||||
done <- struct{}{}
|
||||
|
|
Loading…
Reference in New Issue