nsmcp::AccessRecordSupport method accessRecordRetry (protected)
<instance of nsmcp::AccessRecordSupport> accessRecordRetry \ settings script [ publish ] [ observer ]
Defined in /usr/local/ns/tcl/nsmcp/log-traffic-record-00-support.tcl
- Parameters:
- settings (required)
- script (required)
- publish (optional)
- observer (optional)
- Testcases:
- No testcase defined.
Source code: set budget [:dict getdef $settings lockWaitMs 3000] set began [clock milliseconds] set delay 25 while {1} { try { return [uplevel 1 $script] } on error {message options} { set code [dict get $options -errorcode] set transient [expr {[lrange $code 0 1] eq {NSMCP RECORD_STORE} && [lindex $code 2] in {database-locked database-busy pool-busy}}] if {!$transient && [regexp -nocase {database (is |table is |schema is )?(locked|busy)} $message]} { set transient true } if {!$transient || [clock milliseconds]-$began >= $budget} { return -options $options $message } :accessIngestionObserve -observer $observer wait-lock accessScanProgress $publish waiting-record-store {files {} index 0 examinedBytes 0} {} set left [expr {$budget-([clock milliseconds]-$began)}] if {$left>0} { ns_sleep [expr {min($left,$delay)/1000.0}] } set delay [expr {min(250,$delay*2)}] } }XQL Not present: Generic, PostgreSQL, Oracle
![[i]](/resources/acs-subsite/ZoomIn16.gif)