set_operator_timeoutset_operator_timeoutSetOperatorTimeoutSetOperatorTimeoutset_operator_timeout (Operator)

Name

set_operator_timeoutset_operator_timeoutSetOperatorTimeoutSetOperatorTimeoutset_operator_timeout — Setzt einen Timeout für einen Operator.

Signatur

set_operator_timeout( : : OperatorName, Timeout, Mode : )

Herror set_operator_timeout(const char* OperatorName, double Timeout, const char* Mode)

Herror T_set_operator_timeout(const Htuple OperatorName, const Htuple Timeout, const Htuple Mode)

void SetOperatorTimeout(const HTuple& OperatorName, const HTuple& Timeout, const HTuple& Mode)

static void HOperatorSet.SetOperatorTimeout(HTuple operatorName, HTuple timeout, HTuple mode)

def set_operator_timeout(operator_name: MaybeSequence[str], timeout: MaybeSequence[Union[int, float, str]], mode: str) -> None

Beschreibung

set_operator_timeoutset_operator_timeoutSetOperatorTimeoutSetOperatorTimeoutSetOperatorTimeoutset_operator_timeout setzt den Timeout TimeoutTimeoutTimeoutTimeouttimeouttimeout für alle zukünftigen Aufrufe des Operators OperatorNameOperatorNameOperatorNameOperatorNameoperatorNameoperator_name. Der Timeout wird in Sekunden angegeben. Ein Wert von 0 oder 'off'"off""off""off""off""off" löscht einen evtl. vorher gesetzten Timeout.

Der Timeout gilt nur für den aktuellen Thread und wird nicht an andere Threads weitergegeben.

Es werden zwei Arten von Timeout unterstützt, zwischen denen mittels ModeModeModeModemodemode ausgewählt werden kann:

'cancel'

Bricht die Ausführung des Operators ab, nachdem der Timeout abgelaufen ist. Der Operator liefert in diesem Fall den Fehlercode H_ERR_TIMEOUT (9400) zurück. Evtl. bereits vorhandene Ergebnisse des Operators werden verworfen.

'break'

Hält die Ausführung des Operators an, nachdem der Timeout abgelaufen ist, und liefert, soweit möglich, alle bereits vorhandenen Ergebnisse zurück. Der Operator wird in diesem Fall normal beendet und liefert keinen Fehlercode zurück.

Achtung

Nicht alle Operatoren unterstützen Timeouts. Wenn ein Operator Timeouts unterstützt, ist dies im Abschnitt über Ausführungsinformationen in dessen Referenzdokumentation vermerkt.

Es gibt keine Garantie über die Granularität der Timeouts. Diese kann vom Operator, dessen Eingabedaten und dem ausführenden System abhängen. Üblicherweise ist die Granularität besser als 10 ms.

Ausführungsinformationen

Parameter

OperatorNameOperatorNameOperatorNameOperatorNameoperatorNameoperator_name (input_control)  string(-array) HTupleMaybeSequence[str]HTupleHtuple (string) (string) (HString) (char*)

Operator für den der Timeout gesetzt werden soll.

TimeoutTimeoutTimeoutTimeouttimeouttimeout (input_control)  number(-array) HTupleMaybeSequence[Union[int, float, str]]HTupleHtuple (real / integer / string) (double / int / long / string) (double / Hlong / HString) (double / Hlong / char*)

Timeout in Sekunden.

Defaultwert: 1

Wertevorschläge: 1, 0.1, 0.5, 'off'"off""off""off""off""off", 0

ModeModeModeModemodemode (input_control)  string HTuplestrHTupleHtuple (string) (string) (HString) (char*)

Art des zu setzenden Timeouts.

Defaultwert: 'cancel' "cancel" "cancel" "cancel" "cancel" "cancel"

Wertevorschläge: 'cancel'"cancel""cancel""cancel""cancel""cancel", 'break'"break""break""break""break""break"

Ergebnis

Sind alle Parameterwerte korrekt, gibt set_operator_timeoutset_operator_timeoutSetOperatorTimeoutSetOperatorTimeoutSetOperatorTimeoutset_operator_timeout den Wert 2 (H_MSG_TRUE) zurück. Andernfalls wird eine Fehlerbehandlung durchgeführt.

Alternativen

interrupt_operatorinterrupt_operatorInterruptOperatorInterruptOperatorInterruptOperatorinterrupt_operator

Siehe auch

interrupt_operatorinterrupt_operatorInterruptOperatorInterruptOperatorInterruptOperatorinterrupt_operator, get_current_hthread_idget_current_hthread_idGetCurrentHthreadIdGetCurrentHthreadIdGetCurrentHthreadIdget_current_hthread_id

Modul

Foundation