cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Surveyor II

Question regarding Canvas Live Events

I was wondering what the status of Live Events is.

I have an LTI tool and I would like to use live events to get "pushed" individual data changes instead of using the API to "pull" ALL data on every page load. Our LTI is a dashboard that pulls in a lot of data, so it leads to long page loads.

Is it possible for an LTI to subscribe to data push updates (like submissions, changes in modules and assignments, and user changes) for a specific class?

In my dream world, I would never call an API again, I would just receive data from canvas when something changes. That would be less overhead for Canvas and me and would dramatically improve page load time and user experience.

Thanks!

4 Replies
Highlighted
Navigator

I do not use Canvas Live Events so I cannot definitively answer, but everything I have read indicates a  stream is configured at the institution level, not at a course level. How do I view and manage data streams in my account? 

According to Live Events Services - Table of Contents, you probably should not give up the API just yet. The Overview: Event Data section of that page lists some of the reasons.

Highlighted
Community Advocate
Community Advocate

As james@richland.edu mentions, the data in Live Events is not 100% accurate, so using it as a single source could be problematic. It's possible for events not to be fired from the code. Without some alternative source/task to reconcile the record state your LTI could have some issues with these concerns.

That said, you can subscribe to specific events, poll SQS, and act on those messages. The AWS examples in Ruby are pretty straight forward. You can use long polling or not, long polling would keep your records state (considering UPSERT, INSERT, or record ORDER is necessary in your data management) in near real time vs polling and processing in batches. Receiving Messages Using Long Polling in Amazon SQS - AWS SDK for Ruby 

I'd recommend the polling be a separate task that feeds your data source for your LTI, not built into the LTI itself.

Highlighted

Thanks James and Robert,

Robert,

Do you know if it is possible to set up a live event for a specific class?

Highlighted

They cannot. Live Events can only be setup at the root account level. I've made a request for sub account subscriptions, but it's not on anyones radar.