def set_auth(self, external_account, user, metadata=None, log=True):
        # tell the user's addon settings that this node is connected to it
        user_settings = user.get_or_add_addon(self.oauth_provider.short_name)
        user_settings.grant_oauth_access(
            node=self.owner,
            external_account=external_account,
            metadata=metadata  # metadata can be passed in when forking
        )
        user_settings.save()

        # update this instance
        self.user_settings = user_settings
        self.external_account = external_account

        if log:
            self.nodelogger.log(action="node_authorized", save=True)
        self.save()
Put item into queue
dataset/ETHPy150Open CenterForOpenScience/osf.io/website/addons/base/__init__.py/AddonOAuthNodeSettingsBase.set_auth--crossover with--dataset/ETHPy150Open UniversalDevicesInc/Polyglot/polyglot/utils.py/LockQueue.put