Ankündigung

Einklappen
Keine Ankündigung bisher.

E-Mail von Tankerkoenig bezüglich Server Traffic

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    E-Mail von Tankerkoenig bezüglich Server Traffic

    Hallo,

    vor 5 Tagen würde mir eine (wahrscheinlich Auto Generierte) E-Mail vom Betreiber der Tankerkoenig Website geschrieben. Einmal hier:

    Hallo (mein E-Mail local-part),

    mit zunehmender Popularität unserer API erreicht unser Server im Moment seine Grenzen.

    Beim Blättern in den Log-Dateien ist mir aufgefallen, dass Du nach einem list-Aufruf anschliessend für einige Tankstelle nochmals detail.php aufrufst

    Der Sinn der detail-Aufrufe erschließt sich mir nicht. Die einzige neue Info im Vergleich zu dem list-Ergebnis sind detaillierte Öffnungszeiten - und die ändern sich nicht im Minutentakt. Auch wir machen nur ein tägliches Update dieser Grunddaten.


    Eine besseres Szenario wäre das folgende:
    Einmal täglich:
    1. Liste mit list.php holen
    2. *falls nötig*: detail.php für die einzelnen Tanken

    dann regelmäßig:
    3. prices.php einsetzen, um mit einem Aufruf die Preise aller interessierender Tanken zu holen.


    Mehr Infos hier: https://creativecommons.tankerkoenig.de/

    mit besten Grüßen,
    ...
    Ich wollte hier einmal fragen, ob ich selbständig mir diese Detail Aufrufe sparen kann (z.B. indem ich gewisse Items weg lasse aus meiner Config)? Oder muss das Plugin umgeschrieben werden?
    Meine Config:

    Code:
    [petrol_station]
        [[first_cheapest]]
            [[[isOpen]]]
                type=bool
                visu_acl = ro
            [[[name]]]
                type=str
                visu_acl = ro
            [[[price]]]
                type=num
                visu_acl = ro
            [[[dist]]]
                type=num
                visu_acl = ro
            [[[street]]]
                type=str
                visu_acl = ro
            [[[houseNumber]]]
                type=str
                visu_acl = ro
            [[[place]]]
                type=str
                visu_acl = ro
        [[second_cheapest]]
            [[[isOpen]]]
                type=bool
                visu_acl = ro
            [[[name]]]
                type=str
                visu_acl = ro
            [[[price]]]
                type=num
                visu_acl = ro
            [[[dist]]]
                type=num
                visu_acl = ro
            [[[street]]]
                type=str
                visu_acl = ro
            [[[houseNumber]]]
                type=str
                visu_acl = ro
            [[[place]]]
                type=str
                visu_acl = ro
        [[thrid_cheapest]]
            [[[isOpen]]]
                type=bool
                visu_acl = ro
            [[[name]]]
                type=str
                visu_acl = ro
            [[[price]]]
                type=num
                visu_acl = ro
            [[[dist]]]
                type=num
                visu_acl = ro
            [[[street]]]
                type=str
                visu_acl = ro
            [[[houseNumber]]]
                type=str
                visu_acl = ro
            [[[place]]]
                type=str
                visu_acl = ro
        [[fourth_cheapest]]
            [[[isOpen]]]
                type=bool
                visu_acl = ro
            [[[name]]]
                type=str
                visu_acl = ro
            [[[price]]]
                type=num
                visu_acl = ro
            [[[dist]]]
                type=num
                visu_acl = ro
            [[[street]]]
                type=str
                visu_acl = ro
            [[[houseNumber]]]
                type=str
                visu_acl = ro
            [[[place]]]
                type=str
                visu_acl = ro
        [[fift_cheapest]]
            [[[isOpen]]]
                type=bool
                visu_acl = ro
            [[[name]]]
                type=str
                visu_acl = ro
            [[[price]]]
                type=num
                visu_acl = ro
            [[[dist]]]
                type=num
                visu_acl = ro
            [[[street]]]
                type=str
                visu_acl = ro
            [[[houseNumber]]]
                type=str
                visu_acl = ro
            [[[place]]]
                type=str
                visu_acl = ro
        [[TotalSteinhagen]]
            tankerkoenig_id = 4be1837a-2546-4176-b6bf-2ec6398e1f7a
            [[[diesel]]]
                type=num
                visu_acl = ro
                sqlite = yes
            [[[name]]]
                type=str
                visu_acl = ro
            [[[isOpen]]]
                type=bool
                visu_acl = ro
        [[JetHalle]]
            tankerkoenig_id = 53234471-3680-0e30-e100-80009459e039
            [[[diesel]]]
                type=num
                visu_acl = ro
                sqlite = yes
            [[[name]]]
                type=str
                visu_acl = ro
            [[[isOpen]]]
                type=bool
                visu_acl = ro
        [[AralSteinhagen]]
            tankerkoenig_id = deffb6e9-4dbc-4cb7-b3bb-d4758c1ecdcf
            [[[diesel]]]
                type=num
                visu_acl = ro
                sqlite = yes
            [[[name]]]
                type=str
                visu_acl = ro
            [[[isOpen]]]
                type=bool
                visu_acl = ro
    Angaben nach bestem Wissen und Gewissen (Inhalt und Rechtschreibung)

    #2
    Ich habe extra die prices Schnittstelle dafür eingebunden und einen Kommentar in der README hinterlegt. Prices kannst Du mit mehreren Tankstellen IDs aufrufen. Die statischen Locationdaten musst Du halt fest einbinden, bspw so:
    Code:
    prices = sh.tankerkoenig.get_petrol_station_prices(['6367ff9a-823c-40c6-b656-025530bbf7cd'], [...])
    if not prices is None:
        for element in prices:    
            if element['status'] != 'closed':
                if element['id'] == "6367ff9a-823c-40c6-b656-025530bbf7cd":
                    element['lat'] = "48.214822"
                    element['lng'] = "11.546543"
                    element['name'] = "Süd-Treibstoff"
                    element['brand'] = "Freie Tankstelle"
                    element['isOpen'] = "True"
                    element['place'] = "München"
                    element['street'] = "Duelferstr."
                    element['houseNumber'] = "52"
    Ist etwas unschön, aber nur so sind die Tankerkönig Kollegen wirklich glücklich ;-) Für die Umkreissuche verwende ich aber - mit einem nach dem Mailverkehr reduzierten Radius (7km) und einem höheren Cycle (1800) - weiterhin die get_petrol_stations. Je nach Use-Case wird das schon toleriert... Du solltest halt nicht mit 15km alle 2 Minuten ankommen, was aber auch von der Bedatung dort Quatsch ist.

    Die get_petrol_station_detail verwende ich gar nicht mehr, habe sie aber bewusst im Plugin gelassen, weil TK sie ja auch anbietet. Ist wichtig um initial die Metadaten auszulesen, die man dann statisch setzen kann.

    Zum README Kommentar:
    Code:
    Take care not to request the interface too often or for too many petrol stations. Please follow instructions given on
    https://creativecommons.tankerkoenig.de/#techInfo and e.g. use prices function for price retrieval. Static information
    such as name or location can be directly set in your python logics.
    
    Recommended by tankerkoenig is to store meta data (Name, Address etc.) statically in your code, db, file cache etc and
    just request / update prices via get_petrol_station_prices.
    Other ways of using the interface may result in mail communication with responsibles of tankerkoenig, telling you
    of using the interface in the way described above (static storage of meta data). Please take this into account when
    integrating it..
    Zuletzt geändert von psilo; 06.09.2016, 18:58.

    Kommentar

    Lädt...
    X