1

まだ python2.5 ランタイムで実行される Appengine アプリがあります。つまり、シングル スレッドです。私は学校のクラスを持っています:

class School(db.Model):
    ...
    dateformat=db.StringProperty(default='%a %e %b',indexed=False) # For bookings
    timeformat=db.StringProperty(default='%l:%M%P',indexed=False) # For bookings
    def date(self,t):
        return time.strftime(self.dateformat,time.gmtime(t))
    def datetime(self,bt,et=None):
        return time.strftime(self.dateformat+' '+self.timeformat,time.gmtime(bt))+\
                (time.strftime(' - '+self.timeformat,time.gmtime(et)) if et else '')
    def time(self,t):
        return time.strftime(self.timeformat,time.gmtime(t))

次に、学校が選択した形式で日付をフォーマットしたい場合は、次のようにします。

s=School.get_by_id(the_id)
date_string=s.date(the_timestamp)

ごくまれに、ちょうど 1 週間後の日付を取得します。したがって、「Wed 2 May」の代わりに「Wed 9 May」となります。これは、おそらく数万件のケースのうち、先週 3 回報告されています。すべて正確に 1 週​​間で、他に時差はありません。

私のコードのその部分は何年もの間何も変わっていないので、なぜこれが突然起こり始めるのか理解できません. シングル スレッドであるため、strftime で問題が発生することはありません。いずれにせよ、スレッドの問題に関するレポートは見つかりません。

何か案は?

4

0 に答える 0