Skip to content

Todo #1

@rbw

Description

@rbw

Redis / pyfiq Core Logic

  • Graceful shutdown: Ensure background thread stops cleanly (e.g. via signal handlers or context managers)
  • User-level keying
  • User-level idempotency
  • Error handling & logging: Catch and log exceptions inside task execution without crashing the worker
  • Retry support: Optional retries on failure, ideally with configurable delay or retry queue
  • Task deduplication (optional): Prevent duplicate enqueues via Redis keys or hashes
  • Task expiration / TTL: Option to discard stale tasks (use Redis TTL or ZSET-based queues if needed)
  • Connection pool support: Reuse Redis connections across queues and workers
  • Support for async decorators (optional): Allow @fifo to be used on async def functions (using asyncio.to_thread etc.)

Testing & Reliability

  • Unit tests: Cover queue backend, task dispatch, decorator behavior
  • Simulate concurrent enqueuers across instances

CI/CD Pipeline

  • GitHub Actions
  • Run tests on push & PR
  • PyPI publishing on version push tag
  • Automatic PyPI publish (publish.yml GA)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions