Loading documentation...
Loading documentation...
Loading documentation...
This guide covers installing Nova and its dependencies.
go get github.com/kolosys/nova@latestNova requires Ion for its workerpool. This dependency is automatically installed.
Nova is organized into focused packages. Import only what you need:
import (
"github.com/kolosys/nova/emitter" // Direct event emission
"github.com/kolosys/nova/bus" // Topic-based routing
"github.com/kolosys/nova/listener" // Lifecycle management
"github.com/kolosys/nova/memory" // In-memory event store
"github.com/kolosys/nova/shared" // Core types and interfaces
)You'll also need Ion's workerpool:
import "github.com/kolosys/ion/workerpool"Create a simple test to verify everything works:
package main
import (
"context"
"fmt"
"github.com/kolosys/ion/workerpool"
"github.com/kolosys/nova/emitter"
"github.com/kolosys/nova/shared"
)
func main() {
pool := workerpool.New(4, 100)
defer pool.Close(context.Background())
em := emitter.New(emitter.Config{WorkerPool: pool})
defer em.Shutdown(context.Background())
fmt.Println("Nova installed successfully!")
fmt.Printf("Emitter stats: %+v
", em.Stats())
}Run it:
go run main.goInstall a specific version:
go get github.com/kolosys/nova@v0.1.0Update to the latest version:
go get -u github.com/kolosys/nova@latestTo contribute or modify Nova:
git clone https://github.com/kolosys/nova.git
cd nova
go mod download
go test -race ./...Ensure your Go environment is configured correctly:
go env GOPATH
go env GOPROXYTry clearing the module cache:
go clean -modcache
go get github.com/kolosys/nova@latestFor private repositories, configure Git authentication:
git config --global url."git@github.com:".insteadOf "https://github.com/"Or set GOPRIVATE:
export GOPRIVATE=github.com/kolosys/*Continue to the Quick Start guide to build your first event system.
This guide covers installing Nova and its dependencies.
go get github.com/kolosys/nova@latestNova requires Ion for its workerpool. This dependency is automatically installed.
Nova is organized into focused packages. Import only what you need:
import (
"github.com/kolosys/nova/emitter" // Direct event emission
"github.com/kolosys/nova/bus" // Topic-based routing
"github.com/kolosys/nova/listener" // Lifecycle management
"github.com/kolosys/nova/memory" // In-memory event store
"github.com/kolosys/nova/shared" // Core types and interfaces
)You'll also need Ion's workerpool:
import "github.com/kolosys/ion/workerpool"Create a simple test to verify everything works:
package main
import (
"context"
"fmt"
"github.com/kolosys/ion/workerpool"
"github.com/kolosys/nova/emitter"
"github.com/kolosys/nova/shared"
)
func main() {
pool := workerpool.New(4, 100)
defer pool.Close(context.Background())
em := emitter.New(emitter.Config{WorkerPool: pool})
defer em.Shutdown(context.Background())
fmt.Println("Nova installed successfully!")
fmt.Printf("Emitter stats: %+v
", em.Stats())
}Run it:
go run main.goInstall a specific version:
go get github.com/kolosys/nova@v0.1.0Update to the latest version:
go get -u github.com/kolosys/nova@latestTo contribute or modify Nova:
git clone https://github.com/kolosys/nova.git
cd nova
go mod download
go test -race ./...Ensure your Go environment is configured correctly:
go env GOPATH
go env GOPROXYTry clearing the module cache:
go clean -modcache
go get github.com/kolosys/nova@latestFor private repositories, configure Git authentication:
git config --global url."git@github.com:".insteadOf "https://github.com/"Or set GOPRIVATE:
export GOPRIVATE=github.com/kolosys/*Continue to the Quick Start guide to build your first event system.
go get github.com/kolosys/nova@latestimport (
"github.com/kolosys/nova/emitter" // Direct event emission
"github.com/kolosys/nova/bus" // Topic-based routing
"github.com/kolosys/nova/listener" // Lifecycle management
"github.com/kolosys/nova/memory" // In-memory event store
"github.com/kolosys/nova/shared" // Core types and interfaces
)import "github.com/kolosys/ion/workerpool"package main
import (
"context"
"fmt"
"github.com/kolosys/ion/workerpool"
"github.com/kolosys/nova/emitter"
"github.com/kolosys/nova/shared"
)
func main() {
pool := workerpool.New(4, 100)
defer pool.Close(context.Background())
em := emitter.New(emitter.Config{WorkerPool: pool})
defer em.Shutdown(context.Background())
fmt.Println("Nova installed successfully!")
fmt.Printf("Emitter stats: %+v
", em.Stats())
}go run main.gogo get github.com/kolosys/nova@v0.1.0go get -u github.com/kolosys/nova@latestgit clone https://github.com/kolosys/nova.git
cd nova
go mod download
go test -race ./...go env GOPATH
go env GOPROXYgo clean -modcache
go get github.com/kolosys/nova@latestgit config --global url."git@github.com:".insteadOf "https://github.com/"export GOPRIVATE=github.com/kolosys/*go get github.com/kolosys/nova@latestimport (
"github.com/kolosys/nova/emitter" // Direct event emission
"github.com/kolosys/nova/bus" // Topic-based routing
"github.com/kolosys/nova/listener" // Lifecycle management
"github.com/kolosys/nova/memory" // In-memory event store
"github.com/kolosys/nova/shared" // Core types and interfaces
)import "github.com/kolosys/ion/workerpool"package main
import (
"context"
"fmt"
"github.com/kolosys/ion/workerpool"
"github.com/kolosys/nova/emitter"
"github.com/kolosys/nova/shared"
)
func main() {
pool := workerpool.New(4, 100)
defer pool.Close(context.Background())
em := emitter.New(emitter.Config{WorkerPool: pool})
defer em.Shutdown(context.Background())
fmt.Println("Nova installed successfully!")
fmt.Printf("Emitter stats: %+v
", em.Stats())
}go run main.gogo get github.com/kolosys/nova@v0.1.0go get -u github.com/kolosys/nova@latestgit clone https://github.com/kolosys/nova.git
cd nova
go mod download
go test -race ./...go env GOPATH
go env GOPROXYgo clean -modcache
go get github.com/kolosys/nova@latestgit config --global url."git@github.com:".insteadOf "https://github.com/"export GOPRIVATE=github.com/kolosys/*