本文整理汇总了Python中ws4redis.publisher.RedisPublisher.fetch_message方法的典型用法代码示例。如果您正苦于以下问题:Python RedisPublisher.fetch_message方法的具体用法?Python RedisPublisher.fetch_message怎么用?Python RedisPublisher.fetch_message使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ws4redis.publisher.RedisPublisher
的用法示例。
在下文中一共展示了RedisPublisher.fetch_message方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: publish
# 需要导入模块: from ws4redis.publisher import RedisPublisher [as 别名]
# 或者: from ws4redis.publisher.RedisPublisher import fetch_message [as 别名]
def publish(serializer, category, request):
message = {}
redis_publisher = RedisPublisher(facility="pushes", broadcast=True)
existing_message = redis_publisher.fetch_message(request, "pushes")
if existing_message:
message = json.loads(existing_message)
message[category] = serializer.data
redis_publisher.publish_message(RedisMessage(json.dumps(message)))
示例2: sync
# 需要导入模块: from ws4redis.publisher import RedisPublisher [as 别名]
# 或者: from ws4redis.publisher.RedisPublisher import fetch_message [as 别名]
def sync(self, request):
# Sample code for reading incidents message queue
redis_publisher = RedisPublisher(facility='pushes', broadcast=True)
message = redis_publisher.fetch_message(request, facility='pushes')
# if the message is empty, replace it with a empty json/dict and convert to a string
if not message:
message = json.dumps({})
return Response(json.loads(message))
示例3: test_publish_user
# 需要导入模块: from ws4redis.publisher import RedisPublisher [as 别名]
# 或者: from ws4redis.publisher.RedisPublisher import fetch_message [as 别名]
def test_publish_user(self):
logged_in = self.client.login(username='john', password='secret')
self.assertTrue(logged_in, 'John is not logged in')
websocket_url = self.websocket_base_url + u'?publish-user'
header = ['Cookie: sessionid={0}'.format(self.client.cookies['sessionid'].coded_value)]
ws = create_connection(websocket_url, header=header)
self.assertTrue(ws.connected)
ws.send(self.message)
ws.close()
self.assertFalse(ws.connected)
publisher = RedisPublisher()
request = self.factory.get('/chat/')
request.user = User.objects.get(username='john')
result = publisher.fetch_message(request, self.facility, 'user')
self.assertEqual(result, self.message)
request.user = None
result = publisher.fetch_message(request, self.facility, 'user')
self.assertEqual(result, None)
示例4: test_publish_broadcast
# 需要导入模块: from ws4redis.publisher import RedisPublisher [as 别名]
# 或者: from ws4redis.publisher.RedisPublisher import fetch_message [as 别名]
def test_publish_broadcast(self):
websocket_url = self.websocket_base_url + u'?publish-broadcast'
ws = create_connection(websocket_url)
self.assertTrue(ws.connected)
ws.send(self.message)
ws.close()
self.assertFalse(ws.connected)
publisher = RedisPublisher()
request = self.factory.get('/chat/')
result = publisher.fetch_message(request, self.facility, 'broadcast')
self.assertEqual(result, self.message)
# now access Redis store directly
self.assertEqual(publisher._connection.get(self.prefix + ':broadcast:' + self.facility), self.message)
示例5: test_publish_session
# 需要导入模块: from ws4redis.publisher import RedisPublisher [as 别名]
# 或者: from ws4redis.publisher.RedisPublisher import fetch_message [as 别名]
def test_publish_session(self):
logged_in = self.client.login(username='mary', password='secret')
self.assertTrue(logged_in, 'Mary is not logged in')
self.assertIsInstance(self.client.session, (dict, type(self.session)), 'Did not receive a session key')
session_key = self.client.session.session_key
self.assertGreater(len(session_key), 30, 'Session key is too short')
websocket_url = self.websocket_base_url + u'?publish-session'
header = ['Cookie: sessionid={0}'.format(session_key)]
ws = create_connection(websocket_url, header=header)
self.assertTrue(ws.connected)
ws.send(self.message)
ws.close()
self.assertFalse(ws.connected)
publisher = RedisPublisher()
request = self.factory.get('/chat/')
request.session = self.client.session
result = publisher.fetch_message(request, self.facility, 'session')
self.assertEqual(result, self.message)