async def start_pusher_by_id(self, app_id: str, pushkey: str, user_id: str) -> Optional[Pusher]:
    'Look up the details for the given pusher, and start it\n\n        Returns:\n            The pusher started, if any\n        '
    if (not self._should_start_pushers):
        return None
    if (not self._pusher_shard_config.should_handle(self._instance_name, user_id)):
        return None
    resultlist = (await self.store.get_pushers_by_app_id_and_pushkey(app_id, pushkey))
    pusher_config = None
    for r in resultlist:
        if (r.user_name == user_id):
            pusher_config = r
    pusher = None
    if pusher_config:
        pusher = (await self._start_pusher(pusher_config))
    return pusher
Look up the details for the given pusher, and start it

Returns:
    The pusher started, if any
async def start_pusher_by_id(self, app_id: str, pushkey: str, user_id: str) -> Optional[Pusher]:
    'Look up the details for the given pusher, and start it\n\n        Returns:\n            The pusher started, if any\n        '
    if (not self._should_start_pushers):
        return None
    if (not self._pusher_shard_config.should_handle(self._instance_name, user_id)):
        return None
    resultlist = (await self.store.get_pushers_by_app_id_and_pushkey(app_id, pushkey))
    pusher_config = None
    for r in resultlist:
        if (r.user_name == user_id):
            pusher_config = r
    pusher = None
    if pusher_config:
        pusher = (await self._start_pusher(pusher_config))
    return pusher