Skip to content

Commit 15a63ea

Browse files
committed
Updated listener and time unmarshal (HACK!)
1 parent e2222af commit 15a63ea

File tree

2 files changed

+18
-3
lines changed

2 files changed

+18
-3
lines changed

pkg/pgqueue/config/task.go

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -322,10 +322,25 @@ func convertPGTime(src reflect.Value, dest reflect.Type) (reflect.Value, error)
322322
return src, nil
323323
}
324324

325-
if dest == timeType {
325+
if dest == timeType || dest.Kind() == reflect.Ptr && dest.Elem() == timeType {
326+
var v reflect.Value
327+
326328
// Convert time 2025-05-03T17:29:32.329803 => time.Time
327329
if t, err := time.Parse("2006-01-02T15:04:05.999999999", src.String()); err == nil {
328-
return reflect.ValueOf(t), nil
330+
v = reflect.ValueOf(t)
331+
} else if t, err := time.Parse("2006-01-02T15:04:05.999999999Z", src.String()); err == nil {
332+
v = reflect.ValueOf(t)
333+
}
334+
335+
// Return value
336+
if v.IsValid() {
337+
if dest.Kind() == reflect.Ptr {
338+
value := reflect.New(dest.Elem())
339+
value.Elem().Set(v)
340+
return value, nil
341+
} else {
342+
return v, nil
343+
}
329344
}
330345
}
331346

pkg/pgqueue/manager.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -471,7 +471,7 @@ func (manager *Manager) RunNotificationLoop(ctx context.Context, ch chan<- *pg.N
471471
}
472472
defer func() {
473473
for _, topic := range manager.topics {
474-
manager.listener.Unlisten(ctx, topic)
474+
manager.listener.Unlisten(context.TODO(), topic)
475475
}
476476
}()
477477

0 commit comments

Comments
 (0)