···141141 }
142142143143 // If last time is older than a week, start from now
144144- if time.Now().UnixMicro()-lastTimeUs > 7*24*60*60*1000*1000 {
144144+ if time.Now().UnixMicro()-lastTimeUs > 2*24*60*60*1000*1000 {
145145 lastTimeUs = time.Now().UnixMicro()
146146- l.Warn("last time us is older than a week. discarding that and starting from now")
146146+ l.Warn("last time us is older than 2 days; discarding that and starting from now")
147147 err = j.db.UpdateLastTimeUs(lastTimeUs)
148148 if err != nil {
149149 l.Error("failed to save last time us", "error", err)
+14-9
knotserver/jetstream.go
···2929 return nil
3030}
31313232-func (h *Handle) processKnotMember(ctx context.Context, did string, record tangled.KnotMember, eventTime int64) error {
3232+func (h *Handle) processKnotMember(ctx context.Context, did string, record tangled.KnotMember) error {
3333 l := log.FromContext(ctx)
34343535 if record.Domain != h.c.Server.Hostname {
···5858 return fmt.Errorf("failed to fetch and add keys: %w", err)
5959 }
60606161- lastTimeUs := eventTime + 1
6262- fmt.Println("lastTimeUs", lastTimeUs)
6363- if err := h.db.UpdateLastTimeUs(lastTimeUs); err != nil {
6464- return fmt.Errorf("failed to save last time us: %w", err)
6565- }
6666- h.jc.UpdateDids([]string{did})
6761 return nil
6862}
6963···116110 return nil
117111 }
118112113113+ var err error
114114+ defer func() {
115115+ eventTime := event.TimeUS
116116+ lastTimeUs := eventTime + 1
117117+ fmt.Println("lastTimeUs", lastTimeUs)
118118+ if err := h.db.UpdateLastTimeUs(lastTimeUs); err != nil {
119119+ err = fmt.Errorf("(deferred) failed to save last time us: %w", err)
120120+ }
121121+ h.jc.UpdateDids([]string{did})
122122+ }()
123123+119124 raw := json.RawMessage(event.Commit.Record)
120125121126 switch event.Commit.Collection {
···133138 if err := json.Unmarshal(raw, &record); err != nil {
134139 return fmt.Errorf("failed to unmarshal record: %w", err)
135140 }
136136- if err := h.processKnotMember(ctx, did, record, event.TimeUS); err != nil {
141141+ if err := h.processKnotMember(ctx, did, record); err != nil {
137142 return fmt.Errorf("failed to process knot member: %w", err)
138143 }
139144 }
140145141141- return nil
146146+ return err
142147}