Clean up resources when bot shuts down.
(self)
| 593 | logger.info("Bot setup complete") |
| 594 | |
| 595 | async def close(self): |
| 596 | """Clean up resources when bot shuts down.""" |
| 597 | if self._api_server: |
| 598 | self._api_server.stop() |
| 599 | logger.info("Polly API stopped") |
| 600 | self.cleanup_sessions.cancel() |
| 601 | if config.doc_embeddings_enabled: |
| 602 | self.update_doc_embeddings.cancel() |
| 603 | if self.issue_notifier: |
| 604 | await self.issue_notifier.stop() |
| 605 | if self.webhook_server: |
| 606 | await stop_webhook_server() |
| 607 | await pollinations_client.close() |
| 608 | await github_manager.close() |
| 609 | await github_graphql.close() |
| 610 | await github_pr_manager.close() |
| 611 | if github_app_auth: |
| 612 | await github_app_auth.close() |
| 613 | # Clean up embeddings if enabled |
| 614 | if config.local_embeddings_enabled: |
| 615 | from .services.embeddings import close as close_embeddings |
| 616 | |
| 617 | await close_embeddings() |
| 618 | # Clean up doc embeddings if enabled |
| 619 | if config.doc_embeddings_enabled: |
| 620 | from .services.doc_embeddings import close as close_doc_embeddings |
| 621 | |
| 622 | await close_doc_embeddings() |
| 623 | await super().close() |
| 624 | |
| 625 | @tasks.loop(minutes=1) |
| 626 | async def cleanup_sessions(self): |
nothing calls this directly
no test coverage detected