WeBWorK Main Forum

LTI-Advanced grade mass update

LTI-Advanced grade mass update

by Andras Balogh -
Number of replies: 2

How does the LTI-Advanced grade mass update work with $LTIMassUpdateInterval = 86400 (24 hours)?

Does grade transfer (for example, to Blackboard) happen at the same time for all courses? Is it taking up much more memory and CPU resources than usual?

Also, what happens with courses that are not set up with Blackboard? I see in the logs error messages about "trying to update grades via LTI" for courses not using Blackboard. The error is due to mysqld not running anymore, but I am surprised to see why it is trying to update grades for non-LTI courses.

The reason for these questions is that I am trying to figure out why mysqld gets killed almost daily due to not enough memory.

This happened last semester with version 2.16 due to some issues with parserAssignment.pl and on other occasions due to our IT security team aggressively testing for vulnerabilities or backing up files. After the update to  version 2.17 this semester, I haven't been able to catch what causes the problem.

In reply to Andras Balogh

Re: LTI-Advanced grade mass update

by Glenn Rice -

The LTI mass grade update is triggered by any user for the course accessing a page for the course.  When that happens, webwork2 checks the LTIAdvantageLastUpdate setting saved in the database.  If the current time is 24 hours or more since that stored time, then it performs the mass update.  Otherwise it waits until the next user for the course accesses a page for the course to check again.

So if users from different courses access pages for their respective courses at the same time, and the last time that the course's grades were upgraded was at the same time, then it will again occur at the same time.

The LTI mass grade update can use a considerable amount of system resources (CPU and memory).  This largely depends on the number of users and assignments in the course.  The process loops through all of the users in the course, loops through all sets assigned to each user, and grades each set and submits the grade to the LMS.  This is assuming LTIGradeMode is set to 'homework'.  If it is set to 'course', then it grades all sets and there is only one grade submission for each student.

If a course is not have LTIGradeMode set, then no update will be performed for the course.  If you set LTIGradeMode to 'homework' or 'course' in conf/authen_LTI.conf, then this will happen for all courses regardless of if they are really using LTI or not.  Although there will be no actual grade submissions for that course as webwork2 will not have the lis_sourcedid's or lis_outcome_service_url's to pass grades back.  You can set LTIGradeMode=""; in a course's course.conf file to prevent the system from trying to submit grades for a particular course.