# QueueTeePie
QueueTeePie is a lightweight, pluggable Python library for background task processing.
It includes features such as task scheduling, retry logic, task prioritization, and expiration handling.
## Features
- **Task Scheduling**: Schedule tasks to run at a later time.
- **Retry Logic**: Retry tasks on failure.
- **Task Priority**: Higher-priority tasks are executed first.
- **Task Expiration**: Expired tasks are removed from the queue.
- **Background Workers**: Process tasks asynchronously in the background.
- **SQLite Storage**: Default persistent storage.
## Installation
Clone the repository and install the dependencies with `Poetry`:
```bash
git clone https://github.com/yourusername/queue_tee_pie.git
cd queue_tee_pie
poetry install
```
## Basic Usage
#### Enqueue a Task
```py
from queue_tee_pie.core import TaskQueue
task_queue = TaskQueue()
task_queue.enqueue_task({'task_name': 'send_email', 'email': 'example@example.com'})
```
#### Start the Worker
```py
from queue_tee_pie.core import TaskQueue
from queue_tee_pie.workers.worker import WorkerThread
task_queue = TaskQueue()
worker = WorkerThread(task_queue)
worker.start()
# Stop the worker gracefully
worker.stop()
worker.join()
```
#### Running the Worker Script
You can run the worker from the command line using the `run_worker.py` script:
```sh
python run_worker.py
```
## License
This project is licensed under the Apache License.
---
This setup includes all of the essential components you need to get started with **QueueTeePie** as a lightweight background task processor. Let me know if you need further enhancements or specific adjustments!
Raw data
{
"_id": null,
"home_page": "https://github.com/k4rimDev/QueueTeePie",
"name": "queue_tee_pie",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.10",
"maintainer_email": null,
"keywords": "task, queue, background, tasks, async",
"author": "karim06-byte",
"author_email": "dev8@airgroup.az",
"download_url": "https://files.pythonhosted.org/packages/d1/d0/9dca902c4a4750d02ab2ec5e5f459c0c32cec71ef9aaa480dc8ebd6307c1/queue_tee_pie-0.1.0.tar.gz",
"platform": null,
"description": "# QueueTeePie\n\nQueueTeePie is a lightweight, pluggable Python library for background task processing.\nIt includes features such as task scheduling, retry logic, task prioritization, and expiration handling.\n\n## Features\n- **Task Scheduling**: Schedule tasks to run at a later time.\n- **Retry Logic**: Retry tasks on failure.\n- **Task Priority**: Higher-priority tasks are executed first.\n- **Task Expiration**: Expired tasks are removed from the queue.\n- **Background Workers**: Process tasks asynchronously in the background.\n- **SQLite Storage**: Default persistent storage.\n\n## Installation\n\nClone the repository and install the dependencies with `Poetry`:\n\n```bash\ngit clone https://github.com/yourusername/queue_tee_pie.git\ncd queue_tee_pie\npoetry install\n```\n\n## Basic Usage\n\n#### Enqueue a Task\n\n```py\nfrom queue_tee_pie.core import TaskQueue\n\ntask_queue = TaskQueue()\ntask_queue.enqueue_task({'task_name': 'send_email', 'email': 'example@example.com'})\n```\n\n#### Start the Worker\n\n```py\nfrom queue_tee_pie.core import TaskQueue\nfrom queue_tee_pie.workers.worker import WorkerThread\n\ntask_queue = TaskQueue()\nworker = WorkerThread(task_queue)\nworker.start()\n\n# Stop the worker gracefully\nworker.stop()\nworker.join()\n```\n\n#### Running the Worker Script\n\nYou can run the worker from the command line using the `run_worker.py` script:\n\n```sh\npython run_worker.py\n```\n\n## License\n\nThis project is licensed under the Apache License.\n\n---\n\nThis setup includes all of the essential components you need to get started with **QueueTeePie** as a lightweight background task processor. Let me know if you need further enhancements or specific adjustments!\n",
"bugtrack_url": null,
"license": "Apache",
"summary": "A lightweight background task library in Python.",
"version": "0.1.0",
"project_urls": {
"Homepage": "https://github.com/k4rimDev/QueueTeePie",
"Repository": "https://github.com/k4rimDev/QueueTeePie"
},
"split_keywords": [
"task",
" queue",
" background",
" tasks",
" async"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "88f1ad3ac48443c461fc46c3a03ccb3519fab9a8ce4b60f47c22a9d61670c8a8",
"md5": "17b6a03dc96b49b8b8485229ed508a51",
"sha256": "386525ba6bfc7e7ad9db800e9cfd0a8b82ee9ce62e72d69a1250e48081366c55"
},
"downloads": -1,
"filename": "queue_tee_pie-0.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "17b6a03dc96b49b8b8485229ed508a51",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.10",
"size": 15934,
"upload_time": "2024-10-08T10:49:32",
"upload_time_iso_8601": "2024-10-08T10:49:32.619327Z",
"url": "https://files.pythonhosted.org/packages/88/f1/ad3ac48443c461fc46c3a03ccb3519fab9a8ce4b60f47c22a9d61670c8a8/queue_tee_pie-0.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d1d09dca902c4a4750d02ab2ec5e5f459c0c32cec71ef9aaa480dc8ebd6307c1",
"md5": "7d49371029a61414bb6375ca7c1e4a0e",
"sha256": "209526418ec8b01e98ba0d4a5d73df1093091edb9ca5a7cae358d6abfb882bee"
},
"downloads": -1,
"filename": "queue_tee_pie-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "7d49371029a61414bb6375ca7c1e4a0e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.10",
"size": 11670,
"upload_time": "2024-10-08T10:49:34",
"upload_time_iso_8601": "2024-10-08T10:49:34.570100Z",
"url": "https://files.pythonhosted.org/packages/d1/d0/9dca902c4a4750d02ab2ec5e5f459c0c32cec71ef9aaa480dc8ebd6307c1/queue_tee_pie-0.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-08 10:49:34",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "k4rimDev",
"github_project": "QueueTeePie",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "queue_tee_pie"
}