[LON-CAPA-cvs] cvs: loncom /homework grades.pm lonhomework.pm
raeburn
raeburn at source.lon-capa.org
Fri Dec 13 00:04:49 EST 2024
raeburn Fri Dec 13 05:04:49 2024 EDT
Modified files:
/loncom/homework grades.pm lonhomework.pm
Log:
- Use a unique time-based key when storing a passback item as a hash value in
linkprot_passback_pending.db in a course's data directory for scores which
were not successfully sent to launcher CMS.
Index: loncom/homework/grades.pm
diff -u loncom/homework/grades.pm:1.804 loncom/homework/grades.pm:1.805
--- loncom/homework/grades.pm:1.804 Tue Dec 10 18:38:10 2024
+++ loncom/homework/grades.pm Fri Dec 13 05:04:49 2024
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# The LON-CAPA Grading handler
#
-# $Id: grades.pm,v 1.804 2024/12/10 18:38:10 raeburn Exp $
+# $Id: grades.pm,v 1.805 2024/12/13 05:04:49 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -1441,27 +1441,31 @@
}
if ($no_passback) {
&Apache::lonnet::log($udom,$uname,$uhome,$no_passback." score: $score; total: $total; possible: $possible");
+ my $key = &Time::HiRes::time().':'.$uname.':'.$udom.':'.
+ "$linkuri\0$linkprotector\0$scope";
my $ltigrade = {
- 'ltinum' => $ltinum,
- 'lti' => $lti_in_use,
- 'crsdef' => $crsdef,
- 'cid' => $cdom.'_'.$cnum,
- 'uname' => $uname,
- 'udom' => $udom,
- 'uhome' => $uhome,
- 'pbid' => $id,
- 'pburl' => $url,
- 'pbtype' => $pb{'type'},
- 'pbscope' => $pbscope,
- 'pbmap' => $pbmap,
- 'pbsymb' => $pbsymb,
- 'format' => $scoretype,
- 'scope' => $scope,
- 'clientip' => $pb{'clientip'},
- 'linkprot' => $linkprotector.':'.$linkuri,
- 'total' => $total,
- 'possible' => $possible,
- 'score' => $score,
+ $key => {
+ 'ltinum' => $ltinum,
+ 'lti' => $lti_in_use,
+ 'crsdef' => $crsdef,
+ 'cid' => $cdom.'_'.$cnum,
+ 'uname' => $uname,
+ 'udom' => $udom,
+ 'uhome' => $uhome,
+ 'pbid' => $id,
+ 'pburl' => $url,
+ 'pbtype' => $pb{'type'},
+ 'pbscope' => $pbscope,
+ 'pbmap' => $pbmap,
+ 'pbsymb' => $pbsymb,
+ 'format' => $scoretype,
+ 'scope' => $scope,
+ 'clientip' => $pb{'clientip'},
+ 'linkprot' => $linkprotector.':'.$linkuri,
+ 'total' => $total,
+ 'possible' => $possible,
+ 'score' => $score,
+ },
};
&Apache::lonnet::put('linkprot_passback_pending',$ltigrade,$cdom,$cnum);
}
Index: loncom/homework/lonhomework.pm
diff -u loncom/homework/lonhomework.pm:1.388 loncom/homework/lonhomework.pm:1.389
--- loncom/homework/lonhomework.pm:1.388 Tue Dec 10 04:55:03 2024
+++ loncom/homework/lonhomework.pm Fri Dec 13 05:04:49 2024
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# The LON-CAPA Homework handler
#
-# $Id: lonhomework.pm,v 1.388 2024/12/10 04:55:03 raeburn Exp $
+# $Id: lonhomework.pm,v 1.389 2024/12/13 05:04:49 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -2112,7 +2112,11 @@
$no_passback .= " LTI launcher $linkprotector ($appname) for $linkuri (${cdom}_${cnum})";
&Apache::lonnet::logthis($no_passback." for $uname:$udom");
&Apache::lonnet::log($udom,$uname,$uhome,"$no_passback score=$score total=$total poss=$possible");
- &Apache::lonnet::put('linkprot_passback_pending',$item,$cdom,$cnum);
+ if ($item->{'linkprot'})
+ my $pendingkey = &Time::HiRes::time().':'.$uname.':'.$udom.':'.
+ "$linkuri\0$linkprotector\0$scope";
+ &Apache::lonnet::put('linkprot_passback_pending',{$pendingkey => $item},$cdom,$cnum);
+ }
}
}
}
More information about the LON-CAPA-cvs
mailing list