Tokbox Implementation - SNAPSHOT - opentok

We are currently working on a Videoconferencing Project using Tokbox API. We have managed to work on the publisher and subscriber streams successfully but we are facing issues when we want to screengrab/snapshot the streams.
When we implement the codes provided by Tokbox, we can only successful save the initial stream (subscriber). We are not able to get the snapshot when we switch to a different subscriber.
We are managing the publisher and subscriber as separate DIV. We have included the doubleclick event to maximise the subscriber stream from a thumbnail size.
Hope someone can assist us on this issue.

Related

Using Spring or Lambda for bulk event trigger

Looking for some help on an application design. I am using spring framework and hosting application in AWS.
I am working on an enterprise Java Web application that is suppose to handle events when their trigger time is reached. For example, consumers can set an event to begin on 12/20/22 at 07:35 AM, and system is suppose to send a notification when that time is reached.
I can store these events in a database along with their trigger time and setup a Spring scheduler (#Scheduler) to run every minute and process events whose trigger time is reached. My only concern with this approach is, there could be hundreds/thousands of event to trigger at any minute, and it cannot be processed within one minute.
Is there any alternate way to design this? I don't know if Spring offers a feature where I could create these Event, and Frameworks trigger these events when trigger time is reached. In that way, I can stay away from managing Scheduling and Triggering part.
I am using AWS to host this applications, so another option I'm thinking towards is creating an AWS lambda for every such Event, and let AWS manage the triggering part. In that way, I can stay away from managing the triggers.
Let me know your views? Or If you came across similar problems and how you resolved that?
You can consider using spring-cloud-dataflow to manage this as tasks and streams.
You create a custom batch application that will use #Scheduled to check the your database when events are dure and then send events to a stream. You can use Spring Integration APIs to interact with RabbitMQ or Kafka topics.
The event should contain enough information needed to process the event.
You then have a stream application that produces the content and send via email or pass it on to a separate stream app that sends the email.
https://dataflow.spring.io/docs/stream-developer-guides/programming-models/
The flow will look something like:
:mail_events | message-processor | message-sender
You will configure property for mail_events to match the topic created and configured for you mail-event-batch application.
You can use Spring Cloud Data Flow to manage the mail-event-batch application as well.
You can scale each application https://dataflow.spring.io/docs/recipes/scaling/

How can I view a events sent to a topic?

I created an Azure Event Grid Topic and I can send events to it. How can I view the events submitted to that topic?
In the Azure Portal, I can view the Event Grid Topic and see the topic's metrics but I cannot find a way to view the event messages.
At the moment, I created a workaround where I send all messages to a storage queue. The issue with this, Azure Storage Explorer doesn't let me scroll through thousands of messages; it limits me to viewing a single page of 50 +/- records.
try to use the Azure Event Grid Tester. You can clone any event subscription to the local machine subscriber via Hybrid Connection and/or ngrok tunnel channel.
The following screen snippet shows this tester with 2079 events on the custom topic rk20180724topic2:

projectreactor slow consumer protection

I wanted to use projectreator.io TopicProcessor Flux for publishing market data events to several subscribers. If one client is slow the buffer will get full and it will block the publisher completely. I read about onBackpressureBuffer but I don't think this is the solution.
The best would be that I get a callback and/or the subscriber gets disconnected - how can I achieve this?
Hope that somebody can help.
Thanks,
Robert

Is there any custom mysql input event adapter for wso2 cep

I wanted to have the event recevier/stream from DB instead of jms,email,http.
In wso2 cep mysql/db is available as only output adapter not as intput adapter.
So is there any custom mysql input adapter available.
Please let me know if there is any alternative solution for db adapter.
I am afraid that WSO2 CEP does not have an Input Event Adapter to recieve events from a database (You can find the list of available input event adapters in the product documentation).
To my understanding, this is mainly because WSO2 CEP is designed for realtime stream processing.
I guess, here the database is not the original source which generates the events?
If so, there should be another event publisher which writes to the database. If you have the control over this publisher, would n't it be possible to get that publisher to send events to the WSO2CEP server directly, rather than writing to the database and then reading from it?
In my opinion, that will be a better solution compared to reading from the database.

How to send incremental updates and snapshot sync using ActiveMQ topics

Here is my use case: I am developing a trading application and i want to send incremental stock updates (bidQty etc) to active consumers instead of the whole quote and a snapshot update to a new consumer (to start with).
Now, is it possible to override any ActiveMQ's class (implementors of Topic) to achieve this behavior? Any clues on this would be helpful .
If the same is possible in any other openSource provider, please let me know.
This is NOT a case where you simply can change the implementation of topic. You should actually avoid changing the implementation of core ActiveMQ features to solve specific business requirements. Fixing bugs and adding core messaging features is another thing.
There are multiple ways to solve your use case with regular ActiveMQ features.
Separate Sync and Update channel
I would probably divide the "sync/snapshot" channel from the "incremental update" channel.
One way is to implement the "snapshot-sync" as JMS request/reply where the consumer asks the provider for a sync, then continues to rely on incremental updates pushed via the topic.
Advisory messages and Selectors
You can also implement it all using a single topic using a mix of AdvisoryMessages and JMS Selectors.
An idea (you can do this in many ways):
Introduce two message properties: MsgType and Receiver
Mark each incremental update with MsgType=inc
Mark each snapshot with some client id of the consumer, Receiver=.
Have the producer listen to advisory messages from ActiveMQ and and fire a snapshot/sync message marked with Receiver= and MsgType=snapshot when there is a new client subscribing the stock topic.
The client subscribes with a selector of something like
MsgType='inc' OR (MsgType='snapshot' AND Receiver=<me>)
This way you can trigger snapshot syncs with specific clients as well as incremental updates for all clients.
If you start think about the dynamics you already have, you can probably think of another ten or so solutions.
Retroactive Consumers
You might have some use of a Retroactive Consumer - the example actually shows a scenario similar to yours.

Resources