add-otel #3
							
								
								
									
										5
									
								
								feed.go
									
									
									
									
									
								
							
							
						
						
									
										5
									
								
								feed.go
									
									
									
									
									
								
							@ -321,7 +321,7 @@ func storeFeed(ctx context.Context, db db, f types.TwtFile) error {
 | 
			
		||||
	if prev, ok := f.Info().GetN("prev", 0); ok {
 | 
			
		||||
		_, part, ok := strings.Cut(prev.Value(), " ")
 | 
			
		||||
		if ok {
 | 
			
		||||
			uri:= f.Twter().URI
 | 
			
		||||
			uri := f.Twter().URI
 | 
			
		||||
			if u, ok := f.Info().GetN("url", 0); ok {
 | 
			
		||||
				uri = u.Value()
 | 
			
		||||
			}
 | 
			
		||||
@ -373,6 +373,9 @@ func (feed *Feed) MakeHTTPRequest(ctx context.Context) (*http.Request, error) {
 | 
			
		||||
	if strings.Contains(feed.URI, "lublin.se") {
 | 
			
		||||
		return nil, fmt.Errorf("%w: permaban: %s", ErrPermanentlyDead, feed.URI)
 | 
			
		||||
	}
 | 
			
		||||
	if strings.Contains(feed.URI, "enotty.dk") {
 | 
			
		||||
		return nil, fmt.Errorf("%w: permaban: %s", ErrPermanentlyDead, feed.URI)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	req, err := http.NewRequestWithContext(ctx, "GET", feed.URI, nil)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
 | 
			
		||||
@ -220,39 +220,39 @@ func processorLoop(ctx context.Context, db db, fetch *pool[*Feed, *Response]) {
 | 
			
		||||
 | 
			
		||||
func checkTemp(twts types.Twts) (int, State) {
 | 
			
		||||
	if len(twts) < 5 {
 | 
			
		||||
		return 7*OneDay, "cold"
 | 
			
		||||
		return 7 * OneDay, "cold"
 | 
			
		||||
	}
 | 
			
		||||
	sort.Sort(twts)
 | 
			
		||||
 | 
			
		||||
	since_first := -time.Until(twts[0].Created())
 | 
			
		||||
	since_fifth := -time.Until(twts[4].Created())
 | 
			
		||||
 | 
			
		||||
	if since_first < 2 * time.Hour || since_fifth < 8 * time.Hour {
 | 
			
		||||
	if since_first < 2*time.Hour || since_fifth < 8*time.Hour {
 | 
			
		||||
		return TwoMinutes, "hot"
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if since_first < 4 * time.Hour || since_fifth < 16 * time.Hour{
 | 
			
		||||
	if since_first < 4*time.Hour || since_fifth < 16*time.Hour {
 | 
			
		||||
		return TenMinutes, "hot"
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if since_first < 8 * time.Hour || since_fifth < 32 * time.Hour{
 | 
			
		||||
		return 2*TenMinutes, "warm"
 | 
			
		||||
	if since_first < 8*time.Hour || since_fifth < 32*time.Hour {
 | 
			
		||||
		return 2 * TenMinutes, "warm"
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if since_first < 16 * time.Hour || since_fifth < 64 * time.Hour{
 | 
			
		||||
		return 4*TenMinutes, "warm"
 | 
			
		||||
	if since_first < 16*time.Hour || since_fifth < 64*time.Hour {
 | 
			
		||||
		return 4 * TenMinutes, "warm"
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if since_first < 24 * time.Hour || since_fifth < 128 * time.Hour{
 | 
			
		||||
	if since_first < 24*time.Hour || since_fifth < 128*time.Hour {
 | 
			
		||||
		return OneDay, "cold"
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if since_first < 48 * time.Hour || since_fifth < 256 * time.Hour{
 | 
			
		||||
		return 2*OneDay, "cold"
 | 
			
		||||
	if since_first < 48*time.Hour || since_fifth < 256*time.Hour {
 | 
			
		||||
		return 2 * OneDay, "cold"
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if since_first < 96 * time.Hour || since_fifth < 512 * time.Hour{
 | 
			
		||||
		return 7*OneDay, "frozen"
 | 
			
		||||
	if since_first < 96*time.Hour || since_fifth < 512*time.Hour {
 | 
			
		||||
		return 7 * OneDay, "frozen"
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return OneMonth, "frozen"
 | 
			
		||||
@ -261,32 +261,32 @@ func checkTemp(twts types.Twts) (int, State) {
 | 
			
		||||
func tsTemp(ts time.Time) (int, State) {
 | 
			
		||||
	since_first := -time.Until(ts)
 | 
			
		||||
 | 
			
		||||
	if since_first < 2 * time.Hour {
 | 
			
		||||
	if since_first < 2*time.Hour {
 | 
			
		||||
		return TwoMinutes, "hot"
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if since_first < 4 * time.Hour {
 | 
			
		||||
	if since_first < 4*time.Hour {
 | 
			
		||||
		return TenMinutes, "hot"
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if since_first < 8 * time.Hour {
 | 
			
		||||
		return 2*TenMinutes, "warm"
 | 
			
		||||
	if since_first < 8*time.Hour {
 | 
			
		||||
		return 2 * TenMinutes, "warm"
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if since_first < 16 * time.Hour {
 | 
			
		||||
		return 4*TenMinutes, "warm"
 | 
			
		||||
	if since_first < 16*time.Hour {
 | 
			
		||||
		return 4 * TenMinutes, "warm"
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if since_first < 24 * time.Hour {
 | 
			
		||||
	if since_first < 24*time.Hour {
 | 
			
		||||
		return OneDay, "cold"
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if since_first < 48 * time.Hour {
 | 
			
		||||
		return 2*OneDay, "cold"
 | 
			
		||||
	if since_first < 48*time.Hour {
 | 
			
		||||
		return 2 * OneDay, "cold"
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if since_first < 96 * time.Hour {
 | 
			
		||||
		return 7*OneDay, "frozen"
 | 
			
		||||
	if since_first < 96*time.Hour {
 | 
			
		||||
		return 7 * OneDay, "frozen"
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return OneMonth, "frozen"
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										4
									
								
								uuid.go
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								uuid.go
									
									
									
									
									
								
							@ -70,8 +70,8 @@ func (l *strList) Scan(value any) error {
 | 
			
		||||
func (l strList) Value() (driver.Value, error) {
 | 
			
		||||
	arr := make([]string, len(l))
 | 
			
		||||
	for i, v := range l {
 | 
			
		||||
		arr[i] = "\""+v+"\""
 | 
			
		||||
		arr[i] = "\"" + v + "\""
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return "["+strings.Join(arr, ",") +"]", nil
 | 
			
		||||
	return "[" + strings.Join(arr, ",") + "]", nil
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user