MetadataSet records a metadata value to be merged into the job's metadata when the current work attempt finishes. This function is only valid from a worker, worker middleware, or work hook like rivertype.HookWorkBegin or rivertype.HookWorkEnd. Metadata updates are stored on the work context and me
(ctx context.Context, key string, value any)
| 24 | // Keys prefixed with `river:` are reserved for internal use and may not be set |
| 25 | // by user code. |
| 26 | func MetadataSet(ctx context.Context, key string, value any) error { |
| 27 | if strings.HasPrefix(key, "river:") { |
| 28 | return errors.New("MetadataSet cannot be used with keys prefixed with `river:`") |
| 29 | } |
| 30 | |
| 31 | metadataUpdates, ok := jobexecutor.MetadataUpdatesFromWorkContext(ctx) |
| 32 | if !ok { |
| 33 | return errMetadataNotSettable |
| 34 | } |
| 35 | |
| 36 | metadataUpdates[key] = value |
| 37 | return nil |
| 38 | } |
searching dependent graphs…