LLMS_Processor_Course_Data::task_complete( LLMS_Course $course, array $data, boolean $last_page )
Complete a task
Description Description
Stores the current (incomplete) array of course data on the postmeta table for use by the next task in the queue.
Upon completion, uses the data array to calculate the final aggregate values and store them on the postmeta table for the course for quick retrieval later.
Parameters Parameters
- $course
-
(LLMS_Course) (Required) Course object.
- $data
-
(array) (Required) Aggregate calculation data array.
- $last_page
-
(boolean) (Required) Whether or not this is the last page set of students for the process.
Return Return
(boolean) Always returns false.
Source Source
File: includes/processors/class.llms.processor.course.data.php
protected function task_complete( $course, $data, $last_page ) { $this->log( sprintf( 'Course data calculation task completed for course %1$d with data: %2$s', $course->get( 'id' ), wp_json_encode( $data ) ) ); // Save our work on the last run. if ( $last_page ) { // Calculate. $grade = $data['quizzes'] ? round( $data['grade'] / $data['quizzes'], 2 ) : 0; $progress = $data['students'] ? round( $data['progress'] / $data['students'], 2 ) : 0; // Save the data to the course. $course->set( 'average_grade', $grade ); $course->set( 'average_progress', $progress ); $course->set( 'enrolled_students', $data['students'] ); $course->set( 'last_data_calc_run', time() ); // Delete the temporary data so its fresh for next time. delete_post_meta( $course->get( 'id' ), '_llms_temp_calc_data' ); // Unlock the course. delete_post_meta( $course->get( 'id' ), '_llms_temp_calc_data_lock' ); $this->log( sprintf( 'Course data calculation completed for course %d.', $course->get( 'id' ) ) ); } else { // Save temporary data so it can be used by the next run in the process. $course->set( 'temp_calc_data', $data ); } return false; }
Expand full source code Collapse full source code View on GitHub
Changelog Changelog
Version | Description |
---|---|
4.16.0 | Fix log string to properly log the course id. |
4.12.0 | Introduced. |