in go-example-crash-uploader-extension/main.go [66:96]
func processEvents(ctx context.Context) {
var requestID string
for {
select {
case <-ctx.Done():
return
default:
println(printPrefix, "Waiting for event...")
res, err := extensionClient.NextEvent(ctx)
if err != nil {
println(printPrefix, "Error:", err.Error())
println(printPrefix, "Exiting")
return
}
println(printPrefix, "Received event:", prettyPrint(res))
// Exit if we receive a SHUTDOWN event
if res.EventType == extension.Shutdown {
println(printPrefix, "Received SHUTDOWN event")
numFiles, err := renameFilesWithSubstring("/tmp", "core", fmt.Sprintf("dump.upload.%s", requestID))
if err != nil {
extensionClient.InitError(ctx, err.Error())
}
println(printPrefix, "Renamed", numFiles, "files")
println(printPrefix, "Exiting")
return
} else if res.EventType == extension.Invoke {
requestID = res.RequestID
}
}
}
}