Metadata-Version: 1.1
Name: rockettm
Version: 0.2.2
Summary: Rocket task manager
Home-page: https://github.com/kianxineki/rockettm
Author: Alberto Galera Jimenez
Author-email: galerajimenez@gmail.com
License: GPL
Description: |PypiDownloads| |pythonversions|
        
        Rocket task manager
        ===================
        
        Asynchronous task manager in python
        
        Install
        -------
        
        .. code:: bash
        
            pip install rockettm
        
        Link pypi: https://pypi.python.org/pypi/rockettm
        
        Example
        -------
        
        Rabbitmq not is localhost
        ~~~~~~~~~~~~~~~~~~~~~~~~~
        
        .. code:: python
        
            from rockettm import connect
        
            # to run it, reconnect to RabbitMQ
            connect("other_ip_or_domain")
        
        Configure logger in client
        ~~~~~~~~~~~~~~~~~~~~~~~~~~
        
        Using standard logger in python
        https://docs.python.org/2/library/logging.html#logging.basicConfig
        
        .. code:: python
        
            import logging
            from rockettm import send_task
        
            # 50 CRITICAL, 40 ERROR, 30 WARNING, 20 INFO, 10 DEBUG, 0 NOTSET
            logging.basicConfig(level=20)
            send_task("queue_name", "name_task", "Pepito")
        
        Configure logger in server
        ~~~~~~~~~~~~~~~~~~~~~~~~~~
        
        in settings.py:
        
        .. code:: python
        
            # filename (DEFAULT "rockettm.log")
            # level (DEFAULT 30)
            # 50 CRITICAL, 40 ERROR, 30 WARNING, 20 INFO, 10 DEBUG, 0 NOTSET
            logger = {'filename': "rockettm.log",  # optional,
                                                   # is not defined print in console
                      'level': 10  # optional
                     }
        
        Send task
        ~~~~~~~~~
        
        .. code:: python
        
            # send task
            from rockettm import send_task
        
            send_task("queue_name", "name_task", "arg1", ["arg2", "2"], {'args': 3}, ('arg', 4))
        
        Declare new task
        ~~~~~~~~~~~~~~~~
        
        Warning! if there are 2 tasks registered with the same name, will run 2!
        
        .. code:: python
        
            # task example
            from rockettm import task
        
        
            @task('name_task')
            def function1(*args, **kwargs):
                return True
        
            # max_time(timeout in seconds) example
            @task('name_task2', max_time=10)
            def long_call(*args, **kwargs):
                return True
        
        settings.py example
        ~~~~~~~~~~~~~~~~~~~
        
        .. code:: python
        
            # settings.py example
            ip = "localhost"
            port = 5672
        
            logger = {'filename': "rockettm.log",  # optional,
                                                   # is not defined print in console
                      'level': 10  # optional
                      }
        
            # search @task in imports
            imports = ['examples.test1',
                       'examples.test2']
        
            # support params
            # name (mandatory), string
            # concurrency (mandatory), int
            # durable (optional), boolean
            # max_time (in seconds) (optional), int
            queues = [{'name': 'rocket1', 'durable': True, 'concurrency': 7},
                      {'name': 'rocket2', 'concurrency': 1},
                      {'name': 'rocket3', 'concurrency': 1, 'max_time': 10}]
        
        Run server
        
        .. code:: bash
        
            rabbitmq_server file_settings.py
        
        Documentation
        -------------
        
        Functions
        ~~~~~~~~~
        
        -  task(name\_task\_event)
        
        It is a decorator to create tasks
        
        -  send\_task(queue, name\_task, \*args)
        
        Send task
        
        -  add\_task(name\_task, func(object))
        
        Add manual task
        
        -  connect(ip\_or\_domain)
        
        connects to another server other than localhost
        
        .. |PypiDownloads| image:: https://img.shields.io/pypi/dm/rockettm.svg
           :target: https://pypi.python.org/pypi/rockettm
        .. |pythonversions| image:: https://img.shields.io/pypi/pyversions/rockettm.svg
           :target: https://pypi.python.org/pypi/rockettm
        
        
        CHANGELOG
        =========
        
        0.2.2 (2016-06-14)
        ------------------
        
        -  hotfix bad raise
        
        0.2.1 (2016-06-14)
        ------------------
        
        -  Hotfix rabbitmq\_server command
        
        0.2.0 (2016-06-13)
        ------------------
        
        -  add support timeout (tasks and queues)
        
        0.1.1 (2016-04-27)
        ------------------
        
        -  Fix dependencies
        
        0.1.0 (2016-03-22)
        ------------------
        
        -  Permit change log
        
        0.0.4 (2016-03-21)
        ------------------
        
        -  Fix CHANGELOG
        -  Update README
        
        0.0.3 (2016-03-21)
        ------------------
        
        -  Permit connect different rabbitmq server
        -  Prevent channel\_closed
        -  Support durable queues
        
        0.0.2 (2016-03-14)
        ------------------
        
        -  Add documentation
        
        0.0.1 (2016-03-14)
        ------------------
        
        -  initial version
        
        
Keywords: rockettm
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU General Public License (GPL)
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
