mirror of
https://github.com/hatchet-dev/hatchet.git
synced 2026-02-21 07:49:48 -06:00
31 lines
778 B
Go
31 lines
778 B
Go
package main
|
|
|
|
import (
|
|
"context"
|
|
"log"
|
|
|
|
hatchet "github.com/hatchet-dev/hatchet/sdks/go"
|
|
)
|
|
|
|
func main() {
|
|
client, err := hatchet.NewClient()
|
|
if err != nil {
|
|
log.Fatalf("failed to create hatchet client: %v", err)
|
|
}
|
|
|
|
task := client.NewStandaloneTask("panic-handler-task", func(ctx hatchet.Context, input any) (any, error) {
|
|
panic("intentional panic for demonstration")
|
|
})
|
|
|
|
worker, err := client.NewWorker("panic-handler-worker", hatchet.WithPanicHandler(func(ctx hatchet.Context, recovered any) {
|
|
log.Printf("panic handler: %v", recovered)
|
|
}), hatchet.WithWorkflows(task))
|
|
if err != nil {
|
|
log.Fatalf("failed to create worker: %v", err)
|
|
}
|
|
|
|
if err := worker.StartBlocking(context.Background()); err != nil {
|
|
log.Fatalf("failed to start worker: %v", err)
|
|
}
|
|
}
|