Open ojecborec opened 1 week ago
Going down the rabbit hole the await self._endpoint.publish(topics=topics, data=data)
call in the ServerSideTopicPublisher._publish_impl
method never returns.
Hi, thanks for reporting. Not sure what the issue is - but might be this can be solved with a different configuration of Redis or the Redis client. I'd recommend trying to play with the broadcaster lib directly to experiment with why/when this fails.
I've tried. It works with the example app. However when trying with OPAL Server the self._endpoint.publish(topics=topics, data=data)
never returns (not even for keep alive messages).
Connection is TLS and password protected, i.e.
rediss://:password@whatever.cache.amazonaws.com:6379
Very odd. Especially as that code seems to just queue another task.
Seeing as I don't have a pointers for you - what I can suggest is maybe using a different backbone pub/sub - e.g. Postgres listen notify instead of ElasticCache Redis
RDS Postgres seems to be working.
First I've configured OPAL Server to utilize local Redis instance (running as Docker container)
and confirmed that it works
When policy is updated and changes are pushed to Git repository I see that OPAL Server handles this update correctly. So far, so good.
Then I've configured OPAL Server to utilize Amazon ElastiCache Redis instance
and confirmed that it works
When policy is updated and changes are pushed to Git repository I see that OPAL Server handles this update
but then I do not see
Pulling changes from remote: 'origin'
messages anymore. The only difference I can see in logs isRedis connection lost
with local Redis vs. not seeing this message at all when leveraging Amazon ElastiCache. I've tried versions 6 and 7 but I do not think that is the case. Is there anything I can do to make it works?