eventmonitor.event_receive
イベントを受信します。
[関数名]
event_receive(blocking_flg, timeout = 0)
[引数]
- blocking_flg
-
ブロッキングモードを設定します。
-
eventmonitor.BLOCK_ON:ブロッキングモード
-
eventmonitor.BLOCK_OFF:非ブロッキングモード
-
- timeout
-
ブロッキングモード指定時の受信待ち時間を指定します(単位:秒)。指定できる値の範囲は,0〜86400です。
この引数のデフォルト値は0です。
[戻り値]
- 辞書型
-
- キー値 'result'
-
受信結果を格納します。
-
eventmonitor.OK:成功
-
eventmonitor.TIMEOUT:タイムアウト
-
eventmonitor.NODATA:受信データなし
-
- キー値 'event_type'
-
受信イベント種別を格納します。
-
eventmonitor.CRON_TIMER_EVT:cronタイマ
-
eventmonitor.INTERVAL_TIMER_EVT:intervalタイマ
-
eventmonitor.SYSMSG_EVT:システムメッセージ
-
eventmonitor.NODATA:受信データなし
-
- キー値 'event_id'
-
監視イベントIDを格納します。登録したイベント監視と対応する一意の値です。
- キー値 'add_info' [追加情報部]
-
受信したイベントがeventmonitor.SYSMSG_EVTの場合,契機となったシステムメッセージを格納します。
システムメッセージの可変長部データ構造については,「表20‒13 契機となったシステムメッセージの可変長部データ構造」を参照してください。
[例外]
例外クラス名 |
説明 |
---|---|
TypeError |
引数の型に誤りがあります。 |
ValueError |
引数に不正な値が指定されています。 |
SystemError |
システムエラーが発生しました。 |
KeyboardInterrupt |
[Ctrl+C]の入力によってコマンドが中断されました。 |
eventmonitor.ReceiveError |
イベント受信に失敗しました。 |
[詳細]
イベントの発生通知を受信します。
引数blocking_flgの設定と引数timeoutの関係を次に示します。
-
BLOCK_OFFを指定した場合,引数timeoutは無視されます。
-
BLOCK_ONを指定した場合,引数timeoutで受信待ち時間を指定します。
-
BLOCK_ONを指定して,引数timeoutに0を指定すると,イベントを受信するまで待ちます。
-
BLOCK_ONかつ引数timeoutに0より大きい値を指定した場合,timeoutで指定した時間内(秒)にイベントが発生しなければ,戻り値の'result'キーにeventmonitor.TIMEOUTが設定されて,関数の呼び出し元に戻ります。
[注意事項]
なし
[備考]
-
契機となったシステムメッセージの可変長部データ構造を次に示します。
表20‒13 契機となったシステムメッセージの可変長部データ構造 タプル型(アクセス値)
説明
eventmonitor.SYSMSG_TIME
イベント発生時間
"<year>/<month>/<day> <hour>:<minute>:<second>.<millisecond> <timezone>"
eventmonitor.SYSMSG_BCU_NUM
BCU番号
数値が格納されます。
eventmonitor.SYSMSG_DUP_STATUS
系状態
-
eventmonitor.ACT:運用系
-
eventmonitor.SBY:待機系
eventmonitor.SYSMSG_EVENT_LEVEL
イベントレベル
先頭のSを除いた数値が格納されます。
eventmonitor.SYSMSG_MSG_TYPE
メッセージ種別
文字列が格納されます。
eventmonitor.SYSMSG_MSG_TYPE_DET
メッセージ種別詳細情報
文字列が格納されます。
eventmonitor.SYSMSG_MSG_ID
メッセージ識別子
数値が格納されます。
eventmonitor.SYSMSG_ADD_HIGH
付加情報上位2桁
数値が格納されます。
eventmonitor.SYSMSG_ADD_LOW
付加情報下位12桁
数値が格納されます。
eventmonitor.SYSMSG_EVT_TEXT
メッセージテキスト
文字列が格納されます。
-