feat: add logging for empty media processing in image, video, and database operations
This commit is contained in:
parent
339a1e94dc
commit
10c7581d2d
6 changed files with 46 additions and 7 deletions
|
|
@ -39,6 +39,11 @@ func AddToImageProcessing(tmp *typesdefs.AnnuncioParsed, annuncio *typesdefs.Ann
|
|||
}
|
||||
|
||||
func ProcessImagePool(toProcess *[]typesdefs.MediaToProcess) ([]typesdefs.UploadedMedia, error) {
|
||||
if len(*toProcess) == 0 {
|
||||
log.Println("No new images to process.")
|
||||
return []typesdefs.UploadedMedia{}, nil
|
||||
}
|
||||
|
||||
var (
|
||||
ProcessedImages []typesdefs.ProcessedMedia
|
||||
UploadedImages []typesdefs.UploadedMedia
|
||||
|
|
|
|||
|
|
@ -46,13 +46,29 @@ func (m *MiogestHandler) GetAnnunci() typesdefs.AnnunciXML {
|
|||
}
|
||||
|
||||
func (m *MiogestHandler) GetAnnunciFromMiogest() {
|
||||
var err error
|
||||
m.AnnunciXML, err = utils.GetDataXML[typesdefs.AnnunciXML]("http://partner.miogest.com/agenzie/infoalloggi.xml")
|
||||
if err != nil {
|
||||
log.Printf("Failed to get annunci: %v", err)
|
||||
return
|
||||
maxRetries := 3
|
||||
baseDelay := 2 * time.Second
|
||||
|
||||
for attempt := 0; attempt < maxRetries; attempt++ {
|
||||
var err error
|
||||
m.AnnunciXML, err = utils.GetDataXML[typesdefs.AnnunciXML]("http://partner.miogest.com/agenzie/infoalloggi.xml")
|
||||
|
||||
if err == nil {
|
||||
// Success
|
||||
m.annunci_cache_expires = time.Now().Add(1 * time.Hour)
|
||||
return
|
||||
}
|
||||
|
||||
// Failed - check if we should retry
|
||||
if attempt < maxRetries-1 {
|
||||
delay := baseDelay * time.Duration(1<<attempt) // Exponential backoff: 2s, 4s, 8s
|
||||
log.Printf("Failed to get annunci (attempt %d/%d): %v. Retrying in %v...",
|
||||
attempt+1, maxRetries, err, delay)
|
||||
time.Sleep(delay)
|
||||
} else {
|
||||
log.Printf("Failed to get annunci after %d attempts: %v", maxRetries, err)
|
||||
}
|
||||
}
|
||||
m.annunci_cache_expires = time.Now().Add(1 * time.Hour)
|
||||
}
|
||||
|
||||
// CATEGORIE AND CARATTERISTICHE FROM MIOGEST
|
||||
|
|
|
|||
|
|
@ -3,12 +3,17 @@ package queries
|
|||
import (
|
||||
"backend/typesdefs"
|
||||
"fmt"
|
||||
"log"
|
||||
|
||||
"github.com/georgysavva/scany/v2/pgxscan"
|
||||
"github.com/jackc/pgx/v5"
|
||||
)
|
||||
|
||||
func SetImagesToDB(pool *[]typesdefs.UploadedMedia) error {
|
||||
if len(*pool) == 0 {
|
||||
log.Println("No new images to save to DB.")
|
||||
return nil
|
||||
}
|
||||
batch := &pgx.Batch{}
|
||||
|
||||
for _, data := range *pool {
|
||||
|
|
|
|||
|
|
@ -3,12 +3,17 @@ package queries
|
|||
import (
|
||||
"backend/typesdefs"
|
||||
"fmt"
|
||||
"log"
|
||||
|
||||
"github.com/georgysavva/scany/v2/pgxscan"
|
||||
"github.com/jackc/pgx/v5"
|
||||
)
|
||||
|
||||
func SetVideosToDB(pool *[]typesdefs.UploadedMedia) error {
|
||||
if len(*pool) == 0 {
|
||||
log.Println("No new videos to save to DB.")
|
||||
return nil
|
||||
}
|
||||
batch := &pgx.Batch{}
|
||||
|
||||
for _, data := range *pool {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
package utils
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"encoding/xml"
|
||||
"fmt"
|
||||
"io"
|
||||
|
|
@ -79,7 +80,10 @@ func GetDataXML[T any](url string) (T, error) {
|
|||
req.Header.Set("Referer", "https://www.miogest.com/")
|
||||
|
||||
resp, err := client.Do(req)
|
||||
log.Printf("Resp %v", resp)
|
||||
log.Printf("Response Status: %s", resp.Status)
|
||||
if jsonBytes, err := json.MarshalIndent(resp.Header, "", " "); err == nil {
|
||||
log.Printf("Headers:\n%s", string(jsonBytes))
|
||||
}
|
||||
if err != nil {
|
||||
|
||||
return result, fmt.Errorf("Failed to fetch url %s: %w", url, err)
|
||||
|
|
|
|||
|
|
@ -47,6 +47,10 @@ func AddToVideoProcessing(tmp *typesdefs.AnnuncioParsed, annuncio *typesdefs.Ann
|
|||
}
|
||||
|
||||
func ProcessVideoPool(toProcess *[]typesdefs.MediaToProcess) ([]typesdefs.UploadedMedia, error) {
|
||||
if len(*toProcess) == 0 {
|
||||
log.Println("No new videos to process.")
|
||||
return []typesdefs.UploadedMedia{}, nil
|
||||
}
|
||||
var (
|
||||
ProcessedVideos []typesdefs.ProcessedMedia
|
||||
UploadedVideos []typesdefs.UploadedMedia
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue