Ben Browning
Ben Browning
Hmm, locally it seems to show that both `test_receive_hang` run pass, but it never moves on to the next test(s); which is what I think happened on the GitHub actions...
I've found at least a hacky workaround: ``` async def _do_keepalive(self): while True: await asyncio.sleep(3) try: await self._get_sub_conn() except Exception: logger.exception("Unexpected exception in keepalive task:") ``` Bumping the `sleep` on...
I did test out the 4.0.0 beta on our staging env and it seemed to work in practice but our test suite blew up. I dug around and think it...
``` import unittest from asgiref.sync import async_to_sync from channels.layers import get_channel_layer class ChannelsRedisTest(unittest.TestCase): @classmethod def setUpClass(cls): cls.channel_layer = get_channel_layer() def test_call_group_send_once(self): async_to_sync(self.channel_layer.group_send)('channel_1', {'message': 'message'}) def test_call_group_send_twice(self): async_to_sync(self.channel_layer.group_send)('channel_1', {'message': 'message'}) async_to_sync(self.channel_layer.group_send)('channel_2',...
In the same staging env I referenced above, on `django==3.2.15`, `channels==4.0.0b1`, `channels-redis==4.0.0b2`, `asgiref==3.5.2`, and `python==3.8` our test suite passes. I am looking at if we're non-breaking for `django=>4.0.0` and if...
Those are very interesting helpers and I had no idea such a thing existed in the channels package, thank you. I am thinking the original issue, my own test suite's...
For us, these show up in Sentry when we do a deployment and Heroku swaps over the dynos and traffic. My best guess has been that Heroku does not wait...
Does 4.0.0b2 also behave the same way? It has a few changes/fixes/improvements from b1 that look familiar to the above.
#3612 got us on our update to 0.60.1/current. We were on 0.54.0 with Django 4.2 _running_ ASGI with no fuss, but not really fully leveraging async for much as other...
`channels_redis` only passes along what each `hosts` entry is to [the redis async client](https://redis.readthedocs.io/en/stable/connections.html#async-client) if it is a dictionary (ignoring the `address` or tuple shortcut). Much of the headache comes...