Signature for the connect method
def connect(self, receiver, sender=None, weak=True, dispatch_uid=None)
where dispatch_uid is the identifier used to uniquely identify a specific instance of the receiver. This is usually a string, although it may be something hashed. If the recipients have the dispatch_uid attribute, the receiver will not be added if another relay already exists with this dispatch_uid .
So you can specify dispatch_uid in your connect call to make sure this fixes the problem.
source share