-
Notifications
You must be signed in to change notification settings - Fork 0
Migration #4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Replaces the previously included configuration file with an updated name, ensuring the correct config is distributed with the package.
Replaces the legacy Flask/Gevent-based SharQ Server with an async implementation using Starlette and the Flowdacity Queue (FQ) core. Updates all references, configs, docs, and tests to reflect the new naming and async API. Modernizes project setup with pyproject.toml and removes obsolete files for Flask, Gunicorn, and uWSGI. Prepares the codebase for improved performance, extensibility, and Python 3.12 compatibility.
Moves queue initialization to the async startup hook, ensuring any asynchronous setup completes before background tasks begin. Updates configuration defaults for clarity and disables Redis clustering by default.
Modernizes the test suite to use async test clients and HTTPX for improved compatibility with async frameworks. Introduces a Makefile with common dev commands and adds explicit dev dependency groups for testing tools. Enhances local and CI development workflow by improving test isolation, coverage options, and environment reproducibility.
Sets the default job requeue limit to -1 to indicate no limit, makes available classes explicit in the package, and deletes an obsolete configuration file to reduce confusion and maintenance overhead.
Introduces an automated workflow to run tests with coverage on pushes and pull requests. Configures service dependencies and coverage upload to Codecov. Improves project packaging and test configuration for consistency and maintainability.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💡 Codex Review
Here are some automated review suggestions for this pull request.
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Enables containerized development and deployment using Docker and docker-compose, including a base Python image, app and Redis services, and unified configuration for consistent local and production setups. Facilitates easier setup, orchestration, and environment management.
This pull request makes significant changes to modernize, rebrand, and simplify the project, transitioning from "SHARQ Server" to "Flowdacity Queue (FQ) Server". The update removes legacy configuration, CI/CD, and documentation files, introduces new build and test workflows using modern Python tooling, and updates naming and references throughout the codebase and documentation to reflect the new project identity. The main themes are project rebranding, CI/CD modernization, and cleanup of legacy/unused files.
Project rebranding and documentation updates:
README.md, configuration files, and documentation links. Installation and usage instructions now referencefqserverandfq.confinstead ofsharqserverandsharq.conf. [1] [2]sharq.conftofq.confinMANIFEST.in.Modern Python tooling and CI/CD improvements:
.github/workflows/test.yml) for running tests and collecting coverage using Python 3.12,uv, andpytest, with results uploaded to Codecov..python-version.Makefileto use modern Python build tools (uv,build,twine), improved test and publish targets, and added commands for managing a Redis container via Docker Compose.Cleanup and removal of legacy/unused files:
Jenkinsfile,ci/Dockerfile,ci/config.yml, andci/entrypoint.sh. [1] [2] [3] [4].pre-commit-config.yaml,.secrets.baseline. [1] [2]CHANGELOG, and severalcatalog-*.yamlfiles. [1] [2] [3] [4] [5] [6] [7] [8]New entrypoint for modern deployment:
asgi.pyfile as the ASGI application entrypoint for the FQ server, supporting modern Python async servers like Uvicorn and Hypercorn.