Metadata-Version: 2.1
Name: pyncette
Version: 0.0.6
Summary: A reliable distributed cron with pluggable storage backends
Home-page: https://github.com/tibordp/pyncette
Author: Tibor Djurica Potpara
Author-email: tibor.djurica@ojdip.net
License: MIT
Project-URL: Documentation, https://pyncette.readthedocs.io/
Project-URL: Changelog, https://pyncette.readthedocs.io/en/latest/changelog.html
Project-URL: Issue Tracker, https://github.com/tibordp/pyncette/issues
Description: ========
        Overview
        ========
        
        
        
        A reliable distributed cron with pluggable storage backends
        
        * Free software: MIT license
        
        Installation
        ============
        
        ::
        
            pip install pyncette
        
        You can also install the in-development version with::
        
            pip install https://github.com/tibordp/pyncette/archive/master.zip
        
        Documentation
        =============
        
        
        https://pyncette.readthedocs.io
        
        
        Usage example
        =============
        
        Simple in-memory cron (does not persist state)
        
        .. code:: python
        
            from pyncette import Pyncette
        
            app = Pyncette()
        
            @app.cron(schedule='* * * * *')
            async def foo():
                print('This will run every minute')
        
            if __name__ = '__main__':
                app.main()
        
            # alternatively asyncio.run(app.run())
        
        Persistent distributed cron using Redis (coordinates execution with parallel instances and survives restarts)
        
        .. code:: python
        
            from pyncette import Pyncette
            from pyncette.repository.redis import redis_repository
        
            app = Pyncette(repository_factory=redis_repository, redis_url='redis://localhost')
        
            @app.cron(schedule='* * * * *')
            async def foo():
                print('This will run every minute')
        
            if __name__ = '__main__':
                app.main()
        
        
        Development
        ===========
        
        To run the all tests run::
        
            tox
        
        Note, to combine the coverage data from all the tox environments run:
        
        .. list-table::
            :widths: 10 90
            :stub-columns: 1
        
            - - Windows
              - ::
        
                    set PYTEST_ADDOPTS=--cov-append
                    tox
        
            - - Other
              - ::
        
                    PYTEST_ADDOPTS=--cov-append tox
        
        
        Changelog
        =========
        
        0.0.0 (2019-12-31)
        ------------------
        
        * First release on PyPI.
        
Platform: UNKNOWN
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: Unix
Classifier: Operating System :: POSIX
Classifier: Operating System :: Microsoft :: Windows
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Topic :: Utilities
Requires-Python: >=3.7
Provides-Extra: redis
