alternativ-nu / retrosearch

R-paket med sökfunktionalitet för artiklar publicerade i Tidningen Åter
https://retrosearch.recraft.me
GNU Affero General Public License v3.0
0 stars 0 forks source link

Dataflöde för transaktionshistorik #3

Closed recraft-ou closed 5 years ago

recraft-ou commented 5 years ago
recraft-ou commented 5 years ago

Om jag får en dropbox-url där exporterad data finns - kanske kan även google drive användas - så kan jag sätta upp automatiska uppdateringar.

TidningenAter commented 5 years ago

Är det säkert att använda mitt eget dropboxkonto eller ska jag skapa ett särskilt för ändamålet. Jag har gjort en mapp där nu som heter Databasexporter: https://www.dropbox.com/sh/27bbittnxusfhf5/AACxT5Opj9FeEmvGiNz89RJ8a?dl=0 Men inte lagt några filer där ännu, vilka filer med vilka fält vill du ha? Samma fält som sist och i excel?

recraft-ou commented 5 years ago

Gärna samma fält som tidigare.

Ett särskilt konto just för appen är att föredra.

TidningenAter commented 5 years ago

Jag har skapat de tre filerna jag tror behövs nu, säg till om de ska sorteras annorlunda eller fälten ska grupperas på något sätt. Jag är lite osäker på om man kan vara inloggad på flera dropboxkonton samtidigt, ska kolla det. Men just nu ligger det på mitt ordinarie, vilket gör det busenkelt att automatiskt spara en fil till dropboxmappen varje dag. Filen med köpta nummer är enorm, 12mb, så jag hoppas det funkar med inkrementel uppdatering och att inte läsningen av den på din sida blir tung. Urlerna är alltså: https://www.dropbox.com/s/f1lwvayq94adfgw/potter.xlsx?dl=0 https://www.dropbox.com/s/wyhnre2l8fvldk9/kopta_nr.xlsx?dl=0 https://www.dropbox.com/s/lkcab1nlrnkdkhg/Artiklar.xlsx?dl=0

recraft-ou commented 5 years ago

Nu har jag gjort så att dessa filer används, det var några små konstigheter i exporten men jag försökte rätta till så gott jag kunde. Finns en version med detta nu här: https://retrosearch.recraft.me/

TidningenAter commented 5 years ago

OK, så jag skulle kunna köra en export till mappen igen så uppdateras infon automatiskt?

recraft-ou commented 5 years ago

Ja tanken var att börja med en automatisk uppdatering nattligen, en enkel snurra som läser från dropbox-url:erna, men det borde också gå att lägga till en knapp du kan använda för att uppdatera manuellt oftare än så om du skulle vilja, närhelst du trycker på den knappen

Däremot uppdateras informationen inte automatiskt av sig själv varje gång du exporterar, alltså i samma sekund, för detta skulle man behöva någon slags watch/notify-event och använda sig av dropbox-api:ets webhooks, vilket jag inte använder i nuläget eftersom det är mer komplicerat och krångligare att använda och lite känsligare för störningar.

Dock har jag sett ett aber som jag har för en av filerna när den parseas av biblioteket jag använder ("readxl") där jag får en krasch lite slumpmässigt, antingen på grund av någon bugg i just det biblioteket eller möjligtvis beroende på att exporten av någon anledning innehåller något som avviker från xls/xlsx-standarden som förväntas (eller för att jag missat någon viktig parameter). De andra två filerna är inga problem, men när jag nystat lite så har jag inte hittat vad som orsakar detta.

En workaround för detta, som jag är ganska säker på att den skulle fungera är om filerna istället vore i .csv eller .tsv format - går det att göra exporter i det formatet från Filemaker?

Det fungerar mao alltså pga strulet ovan ännu inte helt automatiskt men förhoppningsvis ska dataflödet snart vara igång och smidigt vore om du kunde exportera i csv istället för xlsx...

TidningenAter commented 5 years ago

Det är inte viktigt att det uppdateras automatiskt vid export, det kan vänta till en nattlig rutin eller vad som är enklast. Dessa är de format jag kan välja att exportera till från Filemaker:

Skärmavbild 2019-06-09 kl  15 41 39

CSV är alltså kommaseparerat text vad jag förstår? Ska jag välja det för alla tre export filer istället?

recraft-ou commented 5 years ago

Tabbseparerade värden funkar också lika bra, använd gärna det formatet (det är ju mer eller mindre samma som CSV dvs ett textformat och inget binärt format, men man separerar värdena med ett tab-tecken istället och dessutom står det alternativet högst i dropdownlistan).

TidningenAter commented 5 years ago

OK, nu finns filer i tab-format: https://www.dropbox.com/s/w8aymxganrnhy5g/Artiklar.tab?dl=0 https://www.dropbox.com/s/kvadp6icpfk1v5r/kopta_nr.tab?dl=0 https://www.dropbox.com/s/j1unfsazc8mv90v/potter.tab?dl=0 Kolla om det ser ut som det ska eller om jag ska testa något annat.

När jag laddar upp filerna till dropbox går det på nolltid, men om filstorlekarna på något sätt gör sidladdningen seg för användaren så kan jag utesluta alla 0-värden.

recraft-ou commented 5 years ago

Jag har fått importen med .tab-formatet att fungera verkar det som och håller just nu på att testa att det går bra att lägga upp på en produktionsserver också.

recraft-ou commented 5 years ago

Jag har schemalagt ett jobb som gör denna import på natten kl 02:30 varje dag nu.

Detaljer: crontab

30 2 * * * cd /root/repos/retrosearch && make update >> /var/log/retrosearch.log 2>&1

recraft-ou commented 5 years ago

Nu läses data för potterna med "," som decimalseparator och "P"-värden filtreras bort.

TidningenAter commented 5 years ago

Nu finns inga decimaler eller tomma värden i pottfältet

TidningenAter commented 5 years ago

Importeras datafilerna som de ska? Jag exporterar till tab-filerna då och då men det verkar inte träda i kraft? T ex finns inte den nya kunden 25851 och kunden 25662 borde ha 200 i potten, inte 0.

recraft-ou commented 5 years ago

Jag ska kolla på detta, i loggen såg jag ett fel kopplat till en sökväg saknades pga att crontab kör med minimalt med miljövariabler, vilket jag åtgärdat nu med:

30 2 * * * cd /root/repos/retrosearch && bash -l -c "make update" >> /var/log/retrosearch.log 2>&1

Jag får nu 200 i pott för 25662 och 25851 ger 0. Kan det stämma?

TidningenAter commented 5 years ago

Japp, funkar fint nu : )