diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..51fbfcc --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,5 @@ +{ + "recommendations": [ + "johnpapa.vscode-peacock" + ] +} \ No newline at end of file diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..07fdea4 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,21 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "name": "Launch", + "type": "go", + "request": "launch", + "mode": "debug", + "program": "${workspaceRoot}/cmd/main.go", + "env": { + "DB_HOST": "127.0.0.1", + "DB_PORT":"9055", + "APP_PORT":"9056", + }, + "args": ["1", "2", "25"] + } + ] +} diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..bf19f1d --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,25 @@ +{ + "workbench.colorCustomizations": { + "activityBar.activeBackground": "#0bba5d", + "activityBar.activeBorder": "#eee1fd", + "activityBar.background": "#0bba5d", + "activityBarBadge.background": "#eee1fd", + "activityBarBadge.foreground": "#15202b", + "statusBar.background": "#088a45", + "statusBarItem.hoverBackground": "#0bba5d", + "titleBar.activeBackground": "#088a45", + "titleBar.inactiveBackground": "#088a4599", + "activityBar.foreground": "#e7e7e7", + "activityBar.inactiveForeground": "#e7e7e799", + "statusBar.foreground": "#e7e7e7", + "titleBar.activeForeground": "#e7e7e7", + "titleBar.inactiveForeground": "#e7e7e799", + "statusBarItem.remoteBackground": "#088a45", + "statusBarItem.remoteForeground": "#e7e7e7", + "sash.hoverBorder": "#0bba5d", + "commandCenter.border": "#e7e7e799" + }, + "peacock.color": "#088a45", + "todo-tree.tree.disableCompactFolders": false, + "todo-tree.tree.showBadges": true +} \ No newline at end of file diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 0000000..cd64240 --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,55 @@ +{ + // See https://go.microsoft.com/fwlink/?LinkId=733558 + // for the documentation about the tasks.json format + "version": "2.0.0", + "tasks": [ + { + "label": "build linux", + "type": "shell", + "group": { + "kind": "build", + "isDefault": true + }, + "presentation": { + "echo": true, + "panel": "new" + }, + "options": { + "cwd": "${workspaceRoot}", + "env": { + "APP": "pakitara", + "GOOS": "linux", + "GOARCH": "amd64", + "GOBIN": "${env:GOPATH}/bin" + }, + "args": [ + "ldflags '-s -w'" + ] + }, + "command": "go build -o $GOBIN/$APP-$GOOS-$GOARCH -ldflags \"-s -w\" $APP.go", + "problemMatcher": [] + }, + { + "label": "build windows", + "type": "shell", + "group": "build", + "presentation": { + "echo": true, + "panel": "new" + }, + "options": { + "cwd": "${workspaceRoot}", + "env": { + "APP": "pakitara", + "GOOS": "windows", + "GOARCH": "amd64", + "GOBIN": "${env:GOPATH}/bin" + }, + "args": [ + "ldflags '-s -w'" + ] + }, + "command": "go build -o $GOBIN\\$APP-$GOOS-$GOARCH.exe -ldflags \"-s -w\" $APP.go" + } + ] +} \ No newline at end of file diff --git a/cmd/main.go b/cmd/main.go index 48a2024..91e7a5b 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -9,25 +9,27 @@ import ( ) func main() { - // make a new reader that consumes from topic-A, partition 0, at offset 42 - r := kafka.NewReader(kafka.ReaderConfig{ - Brokers: []string{"localhost:9092", "localhost:9093", "localhost:9094"}, + ctx := context.Background() + config := kafka.ReaderConfig{ + Brokers: []string{"localhost:9092"}, Topic: "topic-A", Partition: 0, MinBytes: 10e3, // 10KB MaxBytes: 10e6, // 10MB - }) - r.SetOffset(42) + } + consumer := kafka.NewReader(config) + defer consumer.Close() + + // + // consumer.SetOffset(42) + // for { - m, err := r.ReadMessage(context.Background()) + m, err := consumer.ReadMessage(ctx) if err != nil { - break + log.Fatal(err) } - fmt.Printf("message at offset %d: %s = %s\n", m.Offset, string(m.Key), string(m.Value)) - } - if err := r.Close(); err != nil { - log.Fatal("failed to close reader:", err) + fmt.Printf("message at offset %d: %s = %s\n", m.Offset, string(m.Key), string(m.Value)) } }