Langflow is a powerful tool for building and deploying AI-powered agents and workflows. http://www.langflow.org
Find a file
Lucas Oliveira e58f764f3d
fix: handle backend connection errors on build (#7387)
* Changed polling build error handling

* Awaited pollBuildEvents for error to be thrown

* fix: enhance error handling and logging in get_flow_events_response

* fix: introduce custom exception for job queue not found error

* fix: replace ValueError with custom JobQueueNotFoundError in get_flow_events_response

* ️ Speed up method `JobQueueService.get_queue_data` by 1,704% in PR #7387 (`fix/be_connection_errors`) (#7388)

To optimize the `JobQueueService` implementation for better runtime and memory efficiency, we can implement some optimizations focused mainly on avoiding redundant checks and streamlining the handling of job queues. The most significant improvement that can be made without altering the functionality would be to remove redundant error logging and to optimize our coroutine handling.

Here is the optimized version.



### Key Changes.
1. **Removed Redundant Logging**: The error logging inside the `get_queue_data` method was removed. In a production system where performance is critical, it’s often better to rely on exception handling rather than logging each potential error before raising the exception, especially for common errors which can be anticipated by the system. Instead, we directly raise `JobQueueNotFoundError`.
   
2. **Streamlined Exception Handling**: Replaced the dictionary lookup and manual check with a try-except block, simplifying the code and ensuring that the KeyError is handled efficiently. This avoids checking the condition and then looking up the dictionary again.

3. **Retained Essential Functionality**: All core functionalities and method signatures have been maintained, ensuring that the refactored code behaves identically to before. This includes maintaining the `self._closed` check to prevent operations on a closed service and handling of exceptions to provide appropriate error messages.

By focusing on reducing redundant operations like extra logging and double-checking conditions, we improve the software’s runtime performance and maintain cleaner code.

Co-authored-by: codeflash-ai[bot] <148906541+codeflash-ai[bot]@users.noreply.github.com>

* fix: improve error handling in JobQueueService by raising JobQueueNotFoundError with original exception context

* fix: update error message for job not found in test cases

* fix: enhance error handling in cancel_build by adding JobQueueNotFoundError exception

* fix: improve error handling in cancel_build by logging JobQueueNotFoundError details

---------

Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Co-authored-by: codeflash-ai[bot] <148906541+codeflash-ai[bot]@users.noreply.github.com>
2025-04-01 19:04:54 +00:00
.devcontainer ref: improving development environment and instructions (#5180) 2024-12-12 04:01:05 -08:00
.github build(deps):(deps): bump actions/checkout from 3 to 4 (#7379) 2025-04-01 14:32:17 +00:00
.vscode chore: Add backend installation tasks to VSCode configuration (#4335) 2024-10-31 14:51:01 +00:00
deploy feat: adds file management feature under feature flag, adds file dialog, adds files page (#6134) 2025-03-18 02:32:55 +00:00
docker fix: Add libpq-dev and gcc dependencies to backend Dockerfile (#7136) 2025-03-18 18:50:59 +00:00
docker_example fix: adjust LANGFLOW_CONFIG_DIR to prevent permission error (#6095) 2025-02-05 20:54:36 +00:00
docs docs: fix localhost address for NIM docs (#7391) 2025-04-01 18:37:58 +00:00
scripts fix: aws docker file is now in different place (#6706) 2025-02-19 14:22:58 +00:00
src fix: handle backend connection errors on build (#7387) 2025-04-01 19:04:54 +00:00
test-results feat: Flow's canvas actions design uplift (#4260) 2024-10-31 00:51:33 +00:00
.composio.lock feat: Composio Component Upgrade (#6905) 2025-03-29 10:12:51 +00:00
.env.example feat: add retry on database connection (#5772) 2025-01-21 20:41:17 +00:00
.eslintrc.json 🔧 (.pre-commit-config.yaml): Add eslint@9.1.1 as a dependency and enable autofix for pretty-format-json hook 2024-05-02 19:27:40 -03:00
.gitattributes feat: voice mode (#4642) 2025-03-20 00:05:55 +00:00
.gitignore feat: voice mode (#4642) 2025-03-20 00:05:55 +00:00
.pre-commit-config.yaml feat: return variable value if it is a generic variable (#5366) 2024-12-19 17:04:00 +00:00
CODE_OF_CONDUCT.md run codespell 2024-06-04 09:26:13 -03:00
CONTRIBUTING.md fix: fix typo in CONTRIBUTING.md (#5556) 2025-01-20 12:59:56 +00:00
DEVELOPMENT.md feat: Use pyproject standardized dependency-groups (#6689) 2025-02-20 20:19:45 +00:00
eslint.config.js 🔧 (.pre-commit-config.yaml): Add eslint@9.1.1 as a dependency and enable autofix for pretty-format-json hook 2024-05-02 19:27:40 -03:00
LICENSE Update organization name and URLs in configuration files 2024-04-18 11:58:19 -03:00
Makefile build: Bump ruff version to 0.9.7 (#6614) 2025-02-26 20:36:36 +00:00
pyproject.toml chore: bump langflow and langflow-base for 1.3.0 release (#7362) 2025-03-31 17:41:20 +00:00
README.md docs: adds link to YouTube channel in README.md (#7106) 2025-03-17 16:15:58 +00:00
render.yaml docs: fix render deployment and docs (#3309) 2024-08-14 03:45:56 -07:00
uv.lock docs: Update documentation and add TAVILY_API_KEY to environment variables (#7366) 2025-03-31 19:30:12 +00:00

Langflow logo

Release Notes PyPI - License PyPI - Downloads GitHub star chart Open Issues Open in HuggingFace Twitter YouTube Channel Views

Langflow is a powerful tool for building and deploying AI-powered agents and workflows. It provides developers with both a visual authoring experience and a built-in API server that turns every agent into an API endpoint that can be integrated into applications built on any framework or stack. Langflow comes with batteries included and supports all major LLMs, vector databases and a growing library of AI tools.

Highlight features

  1. Visual Builder to get started quickly and iterate.
  2. Access to Code so developers can tweak any component using Python.
  3. Playground to immediately test and iterate on their flows with step-by-step control.
  4. Multi-agent orchestration and conversation management and retrieval.
  5. Deploy as an API or export as JSON for Python apps.
  6. Observability with LangSmith, LangFuse and other integrations.
  7. Enterprise-ready security and scalability.

Quickstart

Langflow works with Python 3.10 to 3.13.

Install with uv (recommended)

uv pip install langflow

Install with pip

pip install langflow

📦 Deployment

Self-managed

Langflow is completely open source and you can deploy it to all major deployment clouds. Follow this guide to learn how to use Docker to deploy Langflow.

Fully-managed by DataStax

DataStax Langflow is a full-managed environment with zero setup. Developers can sign up for a free account to get started.

Stay up-to-date

Star Langflow on GitHub to be instantly notified of new releases.

Star Langflow

👋 Contribute

We welcome contributions from developers of all levels. If you'd like to contribute, please check our contributing guidelines and help make Langflow more accessible.


Star History Chart

❤️ Contributors

langflow contributors