| 507 | |
| 508 | |
| 509 | def _keepalive_hook( |
| 510 | mycli: 'MyCli', |
| 511 | _context: Any, |
| 512 | ) -> None: |
| 513 | if mycli.keepalive_ticks is None: |
| 514 | return |
| 515 | if mycli.keepalive_ticks < 1: |
| 516 | return |
| 517 | |
| 518 | mycli._keepalive_counter += 1 |
| 519 | if mycli._keepalive_counter > mycli.keepalive_ticks: |
| 520 | mycli._keepalive_counter = 0 |
| 521 | mycli.logger.debug('keepalive ping') |
| 522 | try: |
| 523 | assert mycli.sqlexecute is not None |
| 524 | assert mycli.sqlexecute.conn is not None |
| 525 | mycli.sqlexecute.conn.ping(reconnect=False) |
| 526 | except Exception as e: |
| 527 | mycli.logger.debug('keepalive ping error %r', e) |
| 528 | |
| 529 | |
| 530 | def _build_prompt_session( |