caproto.server.scan_wrapper¶
-
caproto.server.
scan_wrapper
(scan_function: caproto.server.typing.Scan, period: float, *, subtract_elapsed: bool = True, stop_on_error: bool = False, failure_severity: caproto._dbr.AlarmSeverity = <AlarmSeverity.MAJOR_ALARM: 2>, use_scan_field: bool = False)[source]¶ Wrap a function intended for pvproperty.scan with common logic to periodically call it.
- Parameters
- scan_functionasync callable
- The scan function to wrap, with expected signature:
(group, instance, async_library)
- periodfloat
Wait period seconds between calls to the scanned function
- subtract_elapsedbool, optional
Subtract the elapsed time of the previous call from the period for the subsequent iteration
- stop_on_errorbool, optional
Fail (and stop scanning) when unhandled exceptions occur
- use_scan_fieldbool, optional
Use the .SCAN field if this pvproperty is a mocked record. Raises ValueError if
record
is not used.
- Returns
- wrappedcallable
The wrapped
scan
function.