名前付きタプルを使用してサーバー上でコードを実行しています。
Event = namedtuple("Event", ['attr1', 'attr2', 'attr3'])
サーバーは、キューから出てくる他のサーバーからイベントを取得しています。
namedtuple に新しい属性を必要とする新しい機能をコードに追加したいと考えています。これを行い、下位互換性を維持する良い方法はありますか? つまり、サーバーを停止して起動し、コードを次のように変更できます。
Event = namedtuple("Event", ['attr1', 'attr2', 'attr3', 'attr4'])
ただし、それまでの間、古い署名がキューに入れられたイベントがあります。
誰もこれを以前にやったことがありますか?