Skip to content

Conversation

@legout
Copy link
Owner

@legout legout commented Aug 21, 2025

This pull request primarily removes support and documentation for APScheduler as a job queue backend, making RQ (Redis Queue) the only supported option. It also cleans up configuration files, updates the Docker Compose setup, and removes some unused or obsolete files. Below are the most important changes grouped by theme:

Job Queue Backend Simplification:

  • Documentation and configuration now only reference RQ as the supported job queue backend; all mentions of APScheduler have been removed or replaced. [1] [2] [3] [4]
  • The doc.md file and project configuration examples have been updated to reflect RQ as the sole supported option. [1] [2] [3]

Configuration and Documentation Cleanup:

  • Obsolete or unused configuration files (alembic.ini, .repomixignore, .roo/mcp.json) and an introductory documentation chapter (docs/01_pipelineregistry_.md) have been removed. [1] [2] [3] [4]
  • The changelog (CHANGELOG.md) has been updated to reflect recent refactoring and feature changes.

Docker Compose and Service Adjustments:

  • Docker Compose configuration has been updated: commented out or removed unused services (e.g., dockge, rq-dashboard), adjusted port mappings for Redis/Valkey, and added a new nodered service. [1] [2] [3] [4] [5] [6] [7] [8] [9]

Miscellaneous:

  • Added a simple YAML test file anypath.yaml for configuration or testing purposes.

These changes help streamline the project by focusing support on a single job queue backend, cleaning up legacy or unused files, and improving the clarity and maintainability of both documentation and service configuration.

legout added 15 commits August 13, 2025 19:12
- Removed unused imports and cleaned up code in test_cli_integration.py.
- Simplified imports in test_registry.py and adjusted PipelineConfig usage.
- Updated test_runner.py to reflect changes in PipelineConfig and ProjectAdapterConfig.
- Enhanced test_misc.py with better formatting and organization of test cases.
- Removed deprecated dependencies from uv.lock and updated flowerpower version to 0.11.6.20.
- Added a new Pipeline class that encapsulates execution logic, configuration, and project context.
- Implemented run method with retry logic, input handling, and callback execution.
- Introduced private methods for executing the pipeline, managing executors, and setting up adapters.
- Enhanced error handling and logging throughout the execution process.

refactor(registry): Improve PipelineRegistry initialization and caching

- Updated PipelineRegistry to accept base directory and storage options.
- Added from_filesystem factory method for creating PipelineRegistry from filesystem parameters.
- Implemented caching for loaded pipelines, configurations, and modules to optimize performance.
- Enhanced module path management to ensure proper loading of pipeline modules.
…ng the manager. Introduce unit tests for the pipeline and flower power project, ensuring proper functionality and validation of methods.
- Cleaned up import statements across multiple files for better organization.
- Removed unnecessary blank lines and adjusted spacing for consistency.
- Simplified dictionary and list comprehensions for clarity.
- Updated test cases to use consistent string formatting and improved readability.
- Ensured all code adheres to PEP 8 style guidelines.
Move job queue related commands (enqueue, schedule, run-job, list-schedules) from pipeline.py to job_queue.py for better organization and consistency. This centralizes job queue functionality in its dedicated module while simplifying the pipeline CLI.
@legout legout self-assigned this Aug 21, 2025
Copilot AI review requested due to automatic review settings August 21, 2025 17:47
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This pull request focuses on streamlining the project by removing APScheduler support and establishing RQ as the sole job queue backend. It also includes comprehensive cleanup of obsolete files and documentation.

  • Removes all APScheduler references from documentation and configuration, making RQ the only supported job queue backend
  • Cleans up obsolete configuration files and unused documentation
  • Updates Docker Compose setup with service adjustments and new Node-RED service

Reviewed Changes

Copilot reviewed 50 out of 320 changed files in this pull request and generated 2 comments.

File Description
docs/mkdocs/site/api/init/index.html Added new API documentation page for the init function
docs/mkdocs/site/api/index.html Added new API overview documentation page

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

<p>```python
from flowerpower import init</p>
<h1 id="initialize-a-new-project">Initialize a new project<a class="headerlink" href="#initialize-a-new-project" title="Permanent link">¶</a></h1>
<p>project = init(name="my-new-project", job_queue_type="rq")</p>
Copy link

Copilot AI Aug 21, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The code example is malformed. The opening triple backticks on line 516 should be properly closed, and the code should not be rendered as HTML paragraph and heading elements. This should be a proper markdown code block.

Suggested change
<p>project = init(name="my-new-project", job_queue_type="rq")</p>
<pre><code class="language-python">from flowerpower import init
project = init(name="my-new-project", job_queue_type="rq")
</code></pre>

Copilot uses AI. Check for mistakes.
<p>This section provides a detailed reference for the FlowerPower API.</p>
<h2 id="core-components">Core Components<a class="headerlink" href="#core-components" title="Permanent link">¶</a></h2>
<ul>
<li><a href="./flowerpowerproject.md">FlowerPowerProject</a></li>
Copy link

Copilot AI Aug 21, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The link to FlowerPowerProject points to a non-existent file path './flowerpowerproject.md'. Based on the navigation structure, it should point to 'flowerpower/' to match the existing navigation pattern.

Suggested change
<li><a href="./flowerpowerproject.md">FlowerPowerProject</a></li>
<li><a href="flowerpower/">FlowerPowerProject</a></li>

Copilot uses AI. Check for mistakes.
@legout legout merged commit d908ce2 into main Aug 21, 2025
1 check failed
@legout legout deleted the refactor_job_queue branch August 21, 2025 18:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants