Metadata-Version: 2.1
Name: sanic-scheduler
Version: 1.0.6
Summary: running functions on a schedule for Sanic
Home-page: https://github.com/asmodius/sanic-scheduler
Author: Asmodius
Author-email: asmodius.a@gmail.com
License: MIT
Download-URL: https://github.com/asmodius/sanic-scheduler/archive/master.zip
Description: # Sanic Scheduler
        
        Sanic Scheduler runs a functions on a schedule.
        
        ## Installation
        
        Automatic installation:
        ```bash
        $ pip install sanic-scheduler
        ```
        
        Sanic Scheduler is listed in [PyPI](https://pypi.python.org/pypi/sanic-scheduler) and can be installed with pip or easy_install.
        
        Manual installation:
        ```bash
        $ git clone https://github.com/asmodius/sanic-scheduler.git
        $ cd sanic_scheduler
        $ python setup.py install
        ```
        
        Sanic Scheduler source code is [hosted on GitHub](https://github.com/asmodius/sanic-scheduler)
        
        ## Usage
        
        ```python
        import asyncio
        from datetime import datetime, time, timedelta
        
        from sanic import Sanic
        
        from sanic_scheduler import SanicScheduler, task
        
        
        app = Sanic()
        scheduler = SanicScheduler(app)
        
        
        @task(timedelta(seconds=30))
        def hello(app):
            """Runs the function every 30 seconds."""
            print("Hello, {0}".format(app), datetime.now())
        
        
        @task(timedelta(hours=1), time(hour=1, minute=30))
        async def foo_bar(_):
            """Runs the function every 1 hours after 1:30."""
            print("Foo", datetime.now())
            await asyncio.sleep(1)
            print("Bar")
        
        
        @task(timedelta(minutes=2), timedelta(seconds=10))
        def baz(_):
            """Runs the function every 2 minutes after 10 seconds."""
            print("Baz", datetime.now())
        
        
        @task(start=timedelta(seconds=10))
        def another(_):
            """Run the function after 10 seconds once."""
            print("another", datetime.now())
        
        
        if __name__ == "__main__":
            app.run(host='127.0.0.1', port=5000, debug=True)
        ```
        
Keywords: sanic schedule
Platform: any
Classifier: Development Status :: 5 - Production/Stable
Classifier: License :: OSI Approved :: MIT License
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3.6
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
Description-Content-Type: text/markdown
