fix attempt
This commit is contained in:
		
							parent
							
								
									d2e4c6ee49
								
							
						
					
					
						commit
						2d62191aa0
					
				
							
								
								
									
										1
									
								
								app.py
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								app.py
									
									
									
									
									
								
							@ -113,6 +113,7 @@ def start_scan():
 | 
			
		||||
        
 | 
			
		||||
        # Get user-specific scanner with enhanced debugging
 | 
			
		||||
        user_session_id, scanner = get_user_scanner()
 | 
			
		||||
        scanner.user_session_id = user_session_id
 | 
			
		||||
        print(f"Using session: {user_session_id}")
 | 
			
		||||
        print(f"Scanner object ID: {id(scanner)}")
 | 
			
		||||
        
 | 
			
		||||
 | 
			
		||||
@ -346,6 +346,12 @@ class Scanner:
 | 
			
		||||
            except (Exception, CancelledError) as e:
 | 
			
		||||
                print(f"Error processing target {target}: {e}")
 | 
			
		||||
                self._log_target_processing_error(target, str(e))
 | 
			
		||||
        
 | 
			
		||||
        # Add this block to save the state to Redis
 | 
			
		||||
        from core.session_manager import session_manager
 | 
			
		||||
        if hasattr(self, 'user_session_id'):
 | 
			
		||||
            session_manager.update_session_scanner(self.user_session_id, self)
 | 
			
		||||
 | 
			
		||||
        return results
 | 
			
		||||
 | 
			
		||||
    def _query_providers_forensic(self, target: str, current_depth: int) -> Set[str]:
 | 
			
		||||
 | 
			
		||||
@ -105,6 +105,14 @@ class SessionManager:
 | 
			
		||||
        serialized_data = pickle.dumps(session_data)
 | 
			
		||||
        self.redis_client.setex(session_key, self.session_timeout, serialized_data)
 | 
			
		||||
 | 
			
		||||
    def update_session_scanner(self, session_id: str, scanner: 'Scanner'):
 | 
			
		||||
        """Updates just the scanner object in a session."""
 | 
			
		||||
        session_data = self._get_session_data(session_id)
 | 
			
		||||
        if session_data:
 | 
			
		||||
            session_data['scanner'] = scanner
 | 
			
		||||
            # We don't need to update last_activity here, as that's for user interaction
 | 
			
		||||
            self._save_session_data(session_id, session_data)
 | 
			
		||||
 | 
			
		||||
    def get_session(self, session_id: str) -> Optional[Scanner]:
 | 
			
		||||
        """
 | 
			
		||||
        Get scanner instance for a session from Redis.
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user