καλησπερα εχω ενα API στο οποιο, λογω του μεγαλου ...
# chat
d
καλησπερα εχω ενα API στο οποιο, λογω του μεγαλου ογκου δεδομενων που φερνει, αρχίζουν και χτυπάνει HTTP timeouts όταν το κάνω με batch. Ως εκ τούτου δεν μπορώ να δω πόσα items θα μου φέρει, μόνο αφού το έχω καλέσει. Το API προσφέρει paging δε, αλλά λόγω του άγνωστου αριθμού items, δεν νομίζω να μπορώ να φτιάξω ένα σωστό batch process. Θα μπορούσα να κάνω batches πχ των 100 και να δω στο τέλος του batch finish_callback, αν δεν έχει φορτώσει όλα τα items, να το ξανατρέξει με τα επόμενα 100 κ.ο.κ.;
s
εγώ το έχω λύσει ανεβάζοντας το timeout στο συγκεκριμένο php αρχείο. αλλά εγώ είμαι κάγκουρας.
🥳 1
👁️ 1
θα έλεγα πως έχει νόημα να βεβαιωθείς πως τα φέρνει gziped
d
χτυπαει cloudflare timeout 🙂 100 seconds
s
δοκίμασε το gzip και μετά σίγουρα batch
d
αυτο με το gzip ειναι μια καλη ιδεα
s
φυσικά και είναι, είναι δικιά μου 😜
👀 1
😄 1
d
αλλα νομιζω οτι παλι το API θα χρειάζεται τον ίδιο χρόνο να δώσει τα δεδομένα, εκεί που γλιτώνεις είναι κάτι ms στο να μεταφερθούν σε μένα
s
δεν ξέρω τι όγκο σου φέρνει, αλλά ναι, paging
μπορείς να βάλεις και το api endpoint στο github search να δεις πως το τραβανε αλλοι
d
το endpoint ειναι κλειστό, πρεπει να κανεις partnership για να αποκτήσεις πρόσβαση. δηλαδη ειναι συγκεκριμενο URL για καθε συνεργατη φέρνει 36ΜΒ σε 3λεπτα χωρις pagination
s
και πόσα αποτελέσματα;
d
καπου στα 300 items
εχει απιστευτα πολυ αχρηστο html
με styling και βλακειες
που τις κανω parse και remove απο την πλευρα μου
το response συνολικα ειναι 37 εκατομμυρια χαρακτηρες
s
exei kapoio id kati to kathe item otan erxete apo to api? an pigenes me px 10,10 kai na kratas kapou poia irthan kai sto telos an zitisis me pagin pg to page 158 kai den erxete tipota neo xereis oti eftasessto telos? kai gia megalitero safety ta endiamesa bach na ta spas sti mesi px Zitas sto proto call 1 call/ i iteration page 1 items 1-10 2 call/ 1 iteration zitas me to offset item 5-15 page 1 (etsi an sou exoun lipsi kapoia ta pernis) 3 call/iternation page 2 items 11-20 4call iteration page 2 alla offset ka ipernis items 15-25 klp klp an den exeis offset sto paging tote parto allios me limit an den exeis oute limit parto me paging kai perne kathe for ta idia 10 (2 fores) gia na kaneis double verify oti thas pires ola .... Xero xero time and resources waste alla an den exeis allo tropo vale kapoia xaza safety measures dika sou
k
To batch μπορεί να δουλεύει με άγνωστο αριθμό δεδομένων. Για την ακρίβεια το παράδειγμα για το πώς να κάνεις batch δουλεύει έτσι.
οπότε μπορείς να έχεις ένα κώδικα που να λέει: φέρε 5 σελίδες κάνε ότι είναι να κάνεις και δες αν έχει και άλλες, αν έχει συνέχισε, αν όχι τελειώσαμε.
✔️ 1
d
καπως ετσι το εκανα. εφτιαξα ενα batch controller που τα φερνει 50-50 και στο finish callback ελεγχω αν εφερε την τελευταια σελιδα, αν οχι, ξαναπηγαινει στο ιδιο route και φερνει τα επομενα μεχρι να τελειωσει ολη η διαδικασια
souvlaki 1
👍 2
💪 2