qmate


Nameqmate JSON
Version 0.0.2 PyPI version JSON
download
home_pageNone
SummaryCreate asynchronous and asynchronous task
upload_time2025-02-26 23:52:37
maintainerNone
docs_urlNone
authorDigital Kelvin
requires_pythonNone
licenseNone
keywords events tasks queue schedules scheduling event loops
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # QMate
Create asynchronous and asynchronous task queues that run on a schedule... symantically.

## Examples


### Full Example
#### Run the function ```PrintSomething``` every quarter of every minute:
```py
from qmate import Queue, Task
import time


def PrintSomething(text):
    print(text)


queue = Queue(True)
queue.schedule(
    Task(
        func=PrintSomething,
        name='Print Something',
        at=["00", "15", "30", "45"],
        args=["Working"]
    )
)

while True:
    time.sleep(0.001)
```

#### `Queue.schedule` takes a single task or a list of tasks.
```py
queue.schedule(
    [
        Task(
            func=PrintSomething,
            name='Quarterly Print',
            at=["00", "15", "30", "45"],
            args=["Working"]
        ),
        Task(
            func=PrintSomething,
            name='10PM Print',
            at=["22:00:00"],
            args=["It's 10PM."]
        )
    ]
)

``` 

## Task Time Parameters
`Every` cannot be combined with other time parameters.  `At`, `On`, and `During` can be combined.  `At` is required, unless using `Every`.


### On

Run tasks on specific days.  If empty, run everyday.
```py
on=["Sunday", "Monday"] # on Sundays and Mondays
on=["everyday"] # on everyday of the week
```
---
### At
Run tasks at certain times.
```py
at=["17:30:00"] # at 5:30 PM
at=["30:00"] # at 30 minutes past every hour
at=["15", "45"] # at a quarter past and a quarter till every hour
```
---
### During
Run tasks during specfic months.  If empty, run every month.
```py
during=["May", "July"] # during the months of may and july
```
---
### Every
Run tasks on certain intervals.  Max time: `23:59:59`
```py
every=["3:30:00"] # every 3 hours, 30 minutes
every=["03:00"] # every 3 minutes
every=["30"] # every 30 seconds
```
---
### Examples

#### Create a task to ```PrintSomething``` everyday of the week at 10AM and 10PM, during the month of September:
```py
Task(
    func=PrintSomething,
    name='Print Something',
    on=["Everyday"],
    at=["10:00:00", "22:00:00"],
    during=["September"],
    args=["Working"]
)
```

#### Create a task to ```PrintSomething``` on Saturday and Sunday ten minutes past every hour:
```py
Task(
    func=PrintSomething,
    name='Print Something',
    on=["Saturday", "Sunday"],
    at=["10:00"],
    during=["September"],
    args=["Working"]
)
```

#### Create a task to run every 10 seconds and pass it multiple arguments:
 Acceptable formats: 23:59:59, 59:59, 59
```py
Task(
    func=MultipleArgument,
    name='Run every 10 seconds',
    every=["10"],
    args=["Houston", 713]
)
```

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "qmate",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": "events, tasks, queue, schedules, scheduling, event loops",
    "author": "Digital Kelvin",
    "author_email": "<qmate@digitalkelvin.com>",
    "download_url": "https://files.pythonhosted.org/packages/26/5d/34507ebf188666ce0e77a930d89084fbf6f3f2520c1e6c9ac511c9d19a22/qmate-0.0.2.tar.gz",
    "platform": null,
    "description": "# QMate\nCreate asynchronous and asynchronous task queues that run on a schedule... symantically.\n\n## Examples\n\n\n### Full Example\n#### Run the function ```PrintSomething``` every quarter of every minute:\n```py\nfrom qmate import Queue, Task\nimport time\n\n\ndef PrintSomething(text):\n    print(text)\n\n\nqueue = Queue(True)\nqueue.schedule(\n    Task(\n        func=PrintSomething,\n        name='Print Something',\n        at=[\"00\", \"15\", \"30\", \"45\"],\n        args=[\"Working\"]\n    )\n)\n\nwhile True:\n    time.sleep(0.001)\n```\n\n#### `Queue.schedule` takes a single task or a list of tasks.\n```py\nqueue.schedule(\n    [\n        Task(\n            func=PrintSomething,\n            name='Quarterly Print',\n            at=[\"00\", \"15\", \"30\", \"45\"],\n            args=[\"Working\"]\n        ),\n        Task(\n            func=PrintSomething,\n            name='10PM Print',\n            at=[\"22:00:00\"],\n            args=[\"It's 10PM.\"]\n        )\n    ]\n)\n\n``` \n\n## Task Time Parameters\n`Every` cannot be combined with other time parameters.  `At`, `On`, and `During` can be combined.  `At` is required, unless using `Every`.\n\n\n### On\n\nRun tasks on specific days.  If empty, run everyday.\n```py\non=[\"Sunday\", \"Monday\"] # on Sundays and Mondays\non=[\"everyday\"] # on everyday of the week\n```\n---\n### At\nRun tasks at certain times.\n```py\nat=[\"17:30:00\"] # at 5:30 PM\nat=[\"30:00\"] # at 30 minutes past every hour\nat=[\"15\", \"45\"] # at a quarter past and a quarter till every hour\n```\n---\n### During\nRun tasks during specfic months.  If empty, run every month.\n```py\nduring=[\"May\", \"July\"] # during the months of may and july\n```\n---\n### Every\nRun tasks on certain intervals.  Max time: `23:59:59`\n```py\nevery=[\"3:30:00\"] # every 3 hours, 30 minutes\nevery=[\"03:00\"] # every 3 minutes\nevery=[\"30\"] # every 30 seconds\n```\n---\n### Examples\n\n#### Create a task to ```PrintSomething``` everyday of the week at 10AM and 10PM, during the month of September:\n```py\nTask(\n    func=PrintSomething,\n    name='Print Something',\n    on=[\"Everyday\"],\n    at=[\"10:00:00\", \"22:00:00\"],\n    during=[\"September\"],\n    args=[\"Working\"]\n)\n```\n\n#### Create a task to ```PrintSomething``` on Saturday and Sunday ten minutes past every hour:\n```py\nTask(\n    func=PrintSomething,\n    name='Print Something',\n    on=[\"Saturday\", \"Sunday\"],\n    at=[\"10:00\"],\n    during=[\"September\"],\n    args=[\"Working\"]\n)\n```\n\n#### Create a task to run every 10 seconds and pass it multiple arguments:\n Acceptable formats: 23:59:59, 59:59, 59\n```py\nTask(\n    func=MultipleArgument,\n    name='Run every 10 seconds',\n    every=[\"10\"],\n    args=[\"Houston\", 713]\n)\n```\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Create asynchronous and asynchronous task",
    "version": "0.0.2",
    "project_urls": null,
    "split_keywords": [
        "events",
        " tasks",
        " queue",
        " schedules",
        " scheduling",
        " event loops"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "52fb506a26e141f7b5bcf5a01b8022ba895f6c14f58a3ca333779b3948f778ec",
                "md5": "a138f869c54cc2e5b9cd263d473bdd62",
                "sha256": "15bc6ac4bebc7f1f84d70339d03e334e2a638d6c750ced47e5a1c0e17ce15bda"
            },
            "downloads": -1,
            "filename": "qmate-0.0.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "a138f869c54cc2e5b9cd263d473bdd62",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 3991,
            "upload_time": "2025-02-26T23:52:35",
            "upload_time_iso_8601": "2025-02-26T23:52:35.510990Z",
            "url": "https://files.pythonhosted.org/packages/52/fb/506a26e141f7b5bcf5a01b8022ba895f6c14f58a3ca333779b3948f778ec/qmate-0.0.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "265d34507ebf188666ce0e77a930d89084fbf6f3f2520c1e6c9ac511c9d19a22",
                "md5": "182efefa009b90c229ef74d0e563e2ba",
                "sha256": "ddd127f546ccdb6c19be275898c41cad646e21bf3d272bf26ecc8be04758c211"
            },
            "downloads": -1,
            "filename": "qmate-0.0.2.tar.gz",
            "has_sig": false,
            "md5_digest": "182efefa009b90c229ef74d0e563e2ba",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 4298,
            "upload_time": "2025-02-26T23:52:37",
            "upload_time_iso_8601": "2025-02-26T23:52:37.618984Z",
            "url": "https://files.pythonhosted.org/packages/26/5d/34507ebf188666ce0e77a930d89084fbf6f3f2520c1e6c9ac511c9d19a22/qmate-0.0.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-02-26 23:52:37",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "qmate"
}
        
Elapsed time: 4.01150s