Re-compute pre-computed vectors for entities affected by a push.
(self, feature_view_name: str, df: "pd.DataFrame")
| 2769 | ) |
| 2770 | |
| 2771 | def _precompute_for_push(self, feature_view_name: str, df: "pd.DataFrame") -> None: |
| 2772 | """Re-compute pre-computed vectors for entities affected by a push.""" |
| 2773 | try: |
| 2774 | services = self.registry.list_feature_services(self.project) |
| 2775 | except Exception: |
| 2776 | return |
| 2777 | |
| 2778 | affected = [ |
| 2779 | svc |
| 2780 | for svc in services |
| 2781 | if svc.precompute_online |
| 2782 | and any(p.name == feature_view_name for p in svc.feature_view_projections) |
| 2783 | ] |
| 2784 | |
| 2785 | if not affected: |
| 2786 | return |
| 2787 | |
| 2788 | for svc in affected: |
| 2789 | try: |
| 2790 | self.precompute_feature_service(svc.name) |
| 2791 | except Exception: |
| 2792 | _logger.warning( |
| 2793 | "Failed to precompute vectors for service '%s' after push", |
| 2794 | svc.name, |
| 2795 | exc_info=True, |
| 2796 | ) |
| 2797 | |
| 2798 | def push( |
| 2799 | self, |