2012-10-12 30 views
2

我有一个广泛使用Twisted的python应用程序。我正在从Python 2.5迁移到2.7以及更新库和模块,包括从Twisted 2.5到12.2。仔细查看代码,为了解决系统时间突然改变(如第一个ntp更新),callLater和其他一些方法会产生意外行为(取决于时间向前或向后)的问题,完成了一些monkey-patching )。ntp更新时间时扭曲的应用程序中断

我们在扭曲2.5时的工作是重新定义一些返回单调时间的自定义方法。从那以后,似乎扭曲中的某些行为已经改变,以解释这一点,并打破了我们的工作。我看到几个线程讨论相关问题:

http://twistedmatrix.com/trac/ticket/1396

http://twistedmatrix.com/trac/ticket/2424

我看到几个补丁左右浮动,但不知道他们实际上是接受了。我想知道是否有人有这方面的经验。有没有办法在Twisted中启用单调时间?

+0

在等待查看Glyph是否回复:-)的时候,我只是说如果你正在寻找一个纯粹的单调时间,你可能需要为TAI(国际原子时间或地球原子时间)找到一个网络来源。 Unix时间不是单调的,因为在闰秒时,值重复。 – wberry

+0

我不知道monotomic是否是正确的单词,基本上我不想让callLater受系统时间变化的影响。例如,真正的可能只是正常运行时间的秒数。 –

+0

有一个提案和一个示例(linux部分没问题,windows部分漏了什么)http://www.python.org/dev/peps/pep-0418/ – sherpya

回答

1

这两张票的状态都是“新的”,所以,不,他们没有被修复。

这就是为什么你应该向上游提供bug修复到你的开源依赖关系,并参与这些长期运行的难题。当你开始更新时,你会希望你的问题得到修复:)。

迟到比晚上好 - 我期待看到你对#2424和#1396的贡献:)。