2017-04-07 2 views
0

Auf der crons Seite meiner app Engine dev Server Admin-URL http://localhost:8000/cronWie pytz Warnung auf Google App Engine Cron dev Server

Es zeigt eine Warnung über pytz für den cron-Eintrag zu lösen, die Europa/London Zeitzone eingestellt ist, :

pytz is required to calculate future run times for cron jobs with timezones. 

ich habe bereits pytz, ist es installiert ist, verwende ich es in der App und in crons, und es ist auf Produktionsservern in Ordnung.

Wie kann ich diese Warnung loswerden? Ich habe versucht, einschließlich es auf meinem app.yaml Bibliotheken hinzufügen:

aber kein Unterschied. Das Hinzufügen eines Abschnitts "Bibliotheken" zu cron.yaml verursacht einen Fehler. Es beeinflusst nichts wirklich, da Crons im Dev nicht automatisch laufen, aber ich möchte diese Warnung vermeiden.

Meine cron.yaml Datei ist:

cron: 
- description: timed cron job 
    url: /tasks/monday-at-9 
    schedule: every monday 09:00 
    timezone: Europe/London 

und der Fehler/auf dem Dev-Server Warnung ist:

pytz is required to calculate future run times for cron jobs with timezones 

obwohl ich pytz haben.

Antwort

0

Das ist jetzt ok, ein paar Wochen später. Keine rote Warnung auf meiner Dev-Admin-Cron-Listenseite und es zeigt mir korrekt die Zeiten an, in denen sie in der Produktion in den richtigen Zeitzonen laufen würden.

Meine cron.yaml Datei sieht in etwa wie folgt aus:

cron: 
    - description: My task 
     url: /tasks/task-1 
     schedule: every day 09:01 
     timezone: Europe/London 

https://cloud.google.com/appengine/docs/standard/python/release-notes

0

Sind Sie in der Standard- oder flexiblen Umgebung?

Für die Standardumgebung ist die folgende nicht hilfreich:

libraries: 
- name: pytz 
    version: latest 

weil Google nicht pytz bietet. Vielleicht ist es sogar die Ursache des Problems ...

Ich lade pytz mit meiner App und stellen Sie sicher, dass das auf dem Python-Suchpfad ist. Zum Beispiel im Stammverzeichnis des Projekts oder in einem Ordner, den Sie mit vendor.add hinzugefügt haben. Ich bekomme nie den Fehler, den du siehst.

Ich nehme an, Sie verwenden eine der GAE-spezifischen Versionen von pytz (wie diese one) und nicht die allgemeine, weil Sie die allgemeine nicht verwenden können.

+0

Dank. Ich bin in der Standardumgebung und der Kommentar zu Bibliotheken war nur ein Versuch, da ich ihn für MySQL usw. brauche. Ich benutze pytz.gae in meinem Code und das funktioniert gut. Es scheint so, als ob dieser Fehler von meiner cron.yaml-Datei und ihrem Parse von GAE kommt, und nicht vom eventuellen Task-Code in meiner App. Nur auf der Dev-Konsole sehe ich die Warnung, wenn ich Zeitzonen in meinen cron-Einträgen in cron.yaml verwende. –

+0

pytz ist jetzt in App Engine enthalten ([siehe die Liste der Bibliotheken hier] (https://cloud.google.com/appengine/docs/standard/python/tools/built-in-libraries-27)), tut es aber nicht arbeite ab diesem Schreiben nicht mit dev_appserver. :(Es gibt ein offenes Ticket für [das Problem mit dev_appserver beheben] (https://issuetracker.google.com/issues/35876507#comment31). –

+0

@LukeFrancl, gut zu wissen! –

Verwandte Themen