Metadata-Version: 2.1
Name: aiocron
Version: 1.7
Summary: Crontabs for asyncio
Home-page: https://github.com/gawel/aiocron/
Author: Gael Pasgrimaud
Author-email: gael@gawel.org
License: MIT
Description: ================================================
        aiocron - Crontabs for asyncio
        ================================================
        
        .. image:: https://travis-ci.org/gawel/aiocron.svg?branch=master
          :target: https://travis-ci.org/gawel/aiocron
        .. image:: https://img.shields.io/pypi/v/aiocron.svg
          :target: https://pypi.python.org/pypi/aiocron
        .. image:: https://img.shields.io/pypi/dm/aiocron.svg
          :target: https://pypi.python.org/pypi/aiocron
        
        Usage
        =====
        
        ``aiocron`` provide a decorator to run function at time::
        
            >>> import aiocron
            >>> import asyncio
            >>>
            >>> @aiocron.crontab('*/30 * * * *')
            ... async def attime():
            ...     print('run')
            ...
            >>> asyncio.get_event_loop().run_forever()
        
        You can also use it as an object::
        
            >>> @aiocron.crontab('1 9 * * 1-5', start=False)
            ... async def attime():
            ...     print('run')
            ...
            >>> attime.start()
            >>> asyncio.get_event_loop().run_forever()
        
        Your function still be available at ``attime.func``
        
        You can also await a crontab. In this case, your coroutine can accept
        arguments::
        
            >>> @aiocron.crontab('0 9,10 * * * mon,fri', start=False)
            ... async def attime(i):
            ...     print('run %i' % i)
            ...
            >>> async def once():
            ...     try:
            ...         res = await attime.next(1)
            ...     except Exception as e:
            ...         print('It failed (%r)' % e)
            ...     else:
            ...         print(res)
            ...
            >>> asyncio.get_event_loop().run_forever()
        
        Finally you can use it as a sleep coroutine. The following will wait until
        next hour::
        
            >>> await crontab('0 * * * *').next()
        
        If you don't like the decorator magic you can set the function by yourself::
        
            >>> cron = crontab('0 * * * *', func=yourcoroutine, start=False)
        
        Notice that unlike standard unix crontab you can specify seconds at the 6th
        position.
        
        ``aiocron`` use `croniter <https://pypi.python.org/pypi/croniter>`_. Refer to
        it's documentation to know more about crontab format.
        
Keywords: crontab cron asyncio
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: Operating System :: POSIX
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: License :: OSI Approved :: MIT License
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Provides-Extra: test
