Kuyruk Documentation. Release 0. Cenk Altı
|
|
- Cecilia Little
- 5 years ago
- Views:
Transcription
1 Kuyruk Documentation Release 0 Cenk Altı Mar 07, 2018
2
3 Contents 1 About Kuyruk 3 2 User s Guide 5 3 API Reference 17 4 Indices and tables 21 Python Module Index 23 i
4 ii
5 Welcome to Kuyruk s documentation. This documentation covers the usage of the library and describes how to run workers. Contents 1
6 2 Contents
7 CHAPTER 1 About Kuyruk Kuyruk is a simple and easy way of distributing tasks to run on servers. It uses RabbitMQ as message broker and depends on amqp which is a pure-python RabbitMQ client library. Compatible with Python All design decisions is based on simplicity. Speed is not first priority. Kuyruk only supports RabbitMQ and does not plan to support any other backend. Kuyruk requires no change in client code other than adding a decorator on top of a function in order to convert it to a Task. Also, sensible defaults have been set for configuration options and can be run without configuring during the development of your application. Kuyruk is designed for long running mission critical jobs. For this reason Kuyruk sends acknowledgement only after the task is fully processed. 3
8 4 Chapter 1. About Kuyruk
9 CHAPTER 2 User s Guide 2.1 Getting Started Running a function in background requires only few steps with Kuyruk. This tutorial assumes that you have a running RabbitMQ server on localhost with default configuration. Following files and commands are in example directory for convenience Installing Kuyruk is available on PyPI. You can install it via pip. $ pip install kuyruk Defining Tasks Instantiate a Kuyruk object and put a task() decorator on top of your function. This will convert your function into a Task object. # tasks.py from kuyruk import Kuyruk kuyruk = def echo(message): print message You can specify some options when defining task. See task() for details. 5
10 2.1.3 Sending the Task to RabbitMQ When you call the Task object, Kuyruk will serialize the task as JSON and will send it to a queue on RabbitMQ instead of running it. import tasks tasks.echo("hello, World!") Running a Worker Run the following command to process tasks in default queue. $ kuyruk --app tasks.kuyruk worker 2.2 Worker Worker processes tasks from a queue Usage $ kuyruk --app <path.to.kuyruk.instance> --queue <queue_name> If queue_name is not given default queue name( kuyruk ) is used. Example: $ kuyruk --app tasks.kuyruk --queue download_file OS Signals Description of how worker processes react to OS signals. SIGINT Worker exits after completing the current task. This is the signal sent when you press CTRL-C on your keyboard. SIGTERM Worker exits after completing the current task. SIGQUIT Worker quits immediately. This is unclean shutdown. If worker is running a task it will be requeued by RabbitMQ. This is the signal sent when you press CTRL-on your keyboard. SIGUSR1 Prints stacktrace. Useful for debugging stuck tasks or seeing what the worker is doing. SIGUSR2 Discard current task and proceed to next one. Discarded task will not be requeued by RabbitMQ. SIGHUP Used internally to fail the task when connection to RabbitMQ is lost during the execution of a long running task. Do not use it. 6 Chapter 2. User s Guide
11 2.3 Signals Kuyruk can be extended via signals. Kuyruk has a signalling support via Blinker library Example Here is an example for clearing the SQLAlchemy s scoped_session before executing the function and commiting it after the task is executed: from kuyruk import Kuyruk from kuyruk.signals import task_prerun, task_postrun from myapp.orm import Session kuyruk = def open_session(sender, task=none, **extra): task.session = def close_session(sender, task=none, **extra): def task_with_a_session(): session = task_with_a_session.session # Work with the session... session.commit() List of Signals kuyruk.signals.task_init = <blinker.base.signal object> Sent when the task decorator is applied. Arguments: sender: Kuyruk object task: Task object kuyruk.signals.task_preapply = <blinker.base.signal object> Sent before the task is applied. Arguments: sender: Kuyruk object task: Task object args: Positional arguments to the task kwargs: Keyword arguments to the task kuyruk.signals.task_postapply = <blinker.base.signal object> Sent after the task is applied. Arguments: 2.3. Signals 7
12 sender: Kuyruk object task: Task object args: Positional arguments to the task kwargs: Keyword arguments to the task kuyruk.signals.task_prerun = <blinker.base.signal object> Sent before the wrapped function is executed. Arguments: sender: Kuyruk object task: Task object args: Positional arguments to the task kwargs: Keyword arguments to the task kuyruk.signals.task_postrun = <blinker.base.signal object> Sent after the wrapped function is executed. Arguments: sender: Kuyruk object task: Task object args: Positional arguments to the task kwargs: Keyword arguments to the task kuyruk.signals.task_success = <blinker.base.signal object> Sent when the wrapped function is returned. Arguments: sender: Kuyruk object task: Task object args: Positional arguments to the task kwargs: Keyword arguments to the task kuyruk.signals.task_error = <blinker.base.signal object> Sent when the wrapped function raises an exception. Arguments: sender: Kuyruk object task: Task object args: Positional arguments to the task kwargs: Keyword arguments to the task exc_info: Return value of sys.exc_info() kuyruk.signals.task_failure = <blinker.base.signal object> Sent when the task fails after all retries(if any). Arguments: sender: Kuyruk object task: Task object 8 Chapter 2. User s Guide
13 args: Positional arguments to the task kwargs: Keyword arguments to the task exc_info: Return value of sys.exc_info() kuyruk.signals.task_presend = <blinker.base.signal object> Sent before the task is sent to queue. Arguments: sender: Kuyruk object task: Task object args: Positional arguments to the task kwargs: Keyword arguments to the task description: dict representation of the task kuyruk.signals.task_postsend = <blinker.base.signal object> Sent after the task is sent to queue. Arguments: sender: Kuyruk object task: Task object args: Positional arguments to the task kwargs: Keyword arguments to the task description: dict representation of the task kuyruk.signals.worker_failure = <blinker.base.signal object> Sent when the task fails. Arguments: sender: Kuyruk object worker: The Worker object task: Task object args: Positional arguments to the task kwargs: Keyword arguments to the task description: dict representation of the task exc_info: Return value of sys.exc_info() kuyruk.signals.worker_init = <blinker.base.signal object> Sent when the worker is initialized. Arguments: sender: Kuyruk object worker: The Worker object kuyruk.signals.worker_start = <blinker.base.signal object> Sent when the worker is started. Arguments: sender: Kuyruk object 2.3. Signals 9
14 worker: The Worker object kuyruk.signals.worker_shutdown = <blinker.base.signal object> Sent when the worker shuts down. Arguments: sender: Kuyruk object worker: The Worker object 2.4 Extensions These are some extensions that adds a functionality to Kuyruk Kuyruk-Sentry Sends exceptions in Kuyruk workers to Sentry Kuyruk-Requeue Save failed tasks to Redis and requeue them Kuyruk-Manager See and manage Kuyruk workers Changelog Here you can see the full list of changes between each Kuyruk release Version Released on Added Windows support Version Released on Added Kuyruk.send_tasks_to_queue method for batch sending. 10 Chapter 2. User s Guide
15 2.5.3 Version Released on Added delay for failed and rejected taks Version Released on Added RabbitMQ connection timeout values to config Version Released on Removed queue key from task description dictionary. Improve error handling when closing connections and channels Version Released on Removed local argument from Kuyruk.task decorator Version Released on Changed WORKER_MAX_LOAD behavior. None disables the feature. Set to -1 for number of CPUs on host. Add argumens to worker command to override WORKER_MAX_LOAD and WORKER_MAX_RUN_TIME config values. Renamed ConnectionError to HeartbeatError. Removed Task.run_in_queue method. Use Task.send_to_queue with wait_result argument instead. Removed local argument from Task.send_to_queue method. Pass host="localhost" for sending to local queue. Removed local argument from worker command. If queue name ends with ".localhost" hostname will be appended to queue name. Removed deprecated Worker.queue property. Removed WORKER_LOGGING_CONFIG configuration value. Added --logging-level to worker command arguments. Removed Worker.config property. Added message_ttl argument to Task.send_to_queue method Changelog 11
16 2.5.8 Version Released on Added Task.run_in_queue context manager for getting task results Version Released on Removed kuyruk_host and kuyruk_local arguments from task calls. Exported Task.send_to_queue method Version Released on Fixed 1 second delay after processing a task. Fixed a depreciation warning from recent version of amqp library Version Released on Workers can consume tasks from multiple queues Version Released on Export Task.name property for fixing a bug in kuyruk-manager Version Released on Fixed a bug related with Python , uwsgi and setproctitle Version Released on This is major rewrite of Kuyruk and it is not backwards compatible. Added Python 3 support. Replaced pika with amqp. Fixed multi-threading issues. Removed master subcommand. Removed scheduler subcommand. 12 Chapter 2. User s Guide
17 Removed requeue subcommand. Removed manager subcommand. Exceptions are not sent to Sentry. Failed tasks are not saved to Redis anymore. Failed tasks are retried in the same worker. Unknown keys in config are now errors. Changed some config variable names. Worker command takes Kuyruk instance instead of config file Version Released on Fixed a worker startup bug happens when running workers as another user Version Released on Added periodic task scheduler feature Version Released on Added Task.delay() function alias for easy migration from Celery Version Released on Use rpyc library for manager communication Version Released on Reverted the option to give Task class from configuration. This caused master to import from user code. Added sleep after respawn_worker to prevent cpu burning Version Released on Added the option to give Task class from configuration Changelog 13
18 Version Released on Prevented close to be called on a nonexistent connection Version Released on Fix the bug about freezing processes on exit Version Released on Fix unclosed socket error on manager Version Released on Removed InvalidCall exception type. TypeError or AttributeError is raised instead. If a kuyruk process exits with a signal, the exit code will be Version Released on Master uses os.wait() instead of polling workers every second Version Released on Use forking again instead Popen after fixing import issue. Add Quit Task button to Manager interface Version Released on Drop support for Python 2.6. Switch back to subprocess module from forking Version Released on Use fork() directly instead of subprocess.popen() when starting workers from master. 14 Chapter 2. User s Guide
19 Version Released on First public release Changelog 15
20 16 Chapter 2. User s Guide
21 CHAPTER 3 API Reference 3.1 Kuyruk Class class kuyruk.kuyruk(config: kuyruk.config.config = None) None Provides task() decorator to convert a function into a Task. Provides channel() context manager for opening a new channel on the connection. Connection is opened when the first channel is created. Parameters config Must be an instance of Config. If None, default config is used. See Config for default values. channel() typing.iterator[amqp.channel.channel] Returns a new channel from a new connection as a context manager. connection() typing.iterator[amqp.connection.connection] Returns a new connection as a context manager. task(queue: str = kuyruk, **kwargs: typing.any) typing.callable Wrap functions with this decorator to convert them to tasks. After wrapping, calling the function will send a message to a queue instead of running the function. Parameters queue Queue name for the tasks. kwargs Keyword arguments will be passed to Task constructor. Returns Callable Task object wrapping the original function. 3.2 Task Class class kuyruk.task Calling a Task object serializes the task to JSON and sends it to the queue. Parameters 17
22 retry Retry this times before give up. The failed task will be retried in the same worker. max_run_time Maximum allowed time in seconds for task to complete. apply(*args: typing.any, **kwargs: typing.any) typing.any Called by workers to run the wrapped function. You may call it yourself if you want to run the task in current process without sending to the queue. If task has a retry property it will be retried on failure. If task has a max_run_time property the task will not be allowed to run more than that. name Full path to the task in the form of <module>.<function>. Workers find and import tasks by this path. send_to_queue(args: typing.tuple = (), kwargs: typing.dict[str, typing.any] = {}, host: str = None, wait_result: typing.union[int, float] = None, message_ttl: typing.union[int, float] = None) typing.any Sends a message to the queue. A worker will run the task s function when it receives the message. Parameters args Arguments that will be passed to task on execution. kwargs Keyword arguments that will be passed to task on execution. host Send this task to specific host. host will be appended to the queue name. If host is localhost, hostname of the server will be appended to the queue name. wait_result Wait for result from worker for wait_result seconds. If timeout occurs, ResultTimeout is raised. If excecption occurs in worker, RemoteException is raised. message_ttl If set, message will be destroyed in queue after message_ttl seconds. Returns Result from worker if wait_result is set, else None. 3.3 Config Class class kuyruk.config Kuyruk configuration object. Default values are defined as class attributes. Additional attributes may be added by extensions. EAGER = False Run tasks in the process without sending to queue. Useful in tests. RABBIT_HOST = 'localhost' RabbitMQ host. RABBIT_PASSWORD = 'guest' RabbitMQ password. RABBIT_PORT = 5672 RabbitMQ port. RABBIT_USER = 'guest' RabbitMQ user. RABBIT_VIRTUAL_HOST = '/' RabbitMQ virtual host. 18 Chapter 3. API Reference
23 WORKER_LOGGING_LEVEL = 'INFO' Logging level of root logger. WORKER_MAX_LOAD = None Pause consuming queue when the load goes above this level. WORKER_MAX_RUN_TIME = None Gracefully shutdown worker after running this seconds. from_dict(d: typing.dict[str, typing.any]) None Load values from a dict. from_env_vars() None Load values from environment variables. Keys must start with KUYRUK_. from_object(obj: typing.any) None Load values from an object. from_pyfile(filename: str) None Load values from a Python file. 3.4 Exceptions exception kuyruk.exceptions.discard The task may raise this if it does not want to process the message. The message will be dropped. typ- exception kuyruk.exceptions.heartbeaterror(exc_info: ing.tuple[typing.type[baseexception], BaseException, traceback]) None Raised when there is problem while sending heartbeat during task execution. exception kuyruk.exceptions.kuyrukerror Base class for Kuyruk exceptions. exception kuyruk.exceptions.reject The task may raise this if it does not want to process the message. The message will be requeued and delivered to another worker. exception kuyruk.exceptions.remoteexception(type_: typing.type, value: Exception, traceback: traceback) None Raised from kuyruk.task.send_to_queue() if wait_result is set and exception is raised on the worker while running the task. exception kuyruk.exceptions.resulttimeout Raised from kuyruk.task.send_to_queue() if wait_result is set and reply is not received in wait_result seconds. exception kuyruk.exceptions.timeout Raised if a task exceeds it s allowed run time Exceptions 19
24 20 Chapter 3. API Reference
25 CHAPTER 4 Indices and tables genindex search 21
26 22 Chapter 4. Indices and tables
27 Python Module Index k kuyruk.exceptions, 19 kuyruk.signals, 7 23
28 24 Python Module Index
29 Index A apply() (kuyruk.task method), 18 C channel() (kuyruk.kuyruk method), 17 Config (class in kuyruk), 18 connection() (kuyruk.kuyruk method), 17 D Discard, 19 E EAGER (kuyruk.config attribute), 18 F from_dict() (kuyruk.config method), 19 from_env_vars() (kuyruk.config method), 19 from_object() (kuyruk.config method), 19 from_pyfile() (kuyruk.config method), 19 H HeartbeatError, 19 K Kuyruk (class in kuyruk), 17 kuyruk.exceptions (module), 19 kuyruk.signals (module), 7 KuyrukError, 19 N name (kuyruk.task attribute), 18 R RABBIT_HOST (kuyruk.config attribute), 18 RABBIT_PASSWORD (kuyruk.config attribute), 18 RABBIT_PORT (kuyruk.config attribute), 18 RABBIT_USER (kuyruk.config attribute), 18 RABBIT_VIRTUAL_HOST (kuyruk.config attribute), 18 Reject, 19 RemoteException, 19 ResultTimeout, 19 S send_to_queue() (kuyruk.task method), 18 T Task (class in kuyruk), 17 task() (kuyruk.kuyruk method), 17 task_error (in module kuyruk.signals), 8 task_failure (in module kuyruk.signals), 8 task_init (in module kuyruk.signals), 7 task_postapply (in module kuyruk.signals), 7 task_postrun (in module kuyruk.signals), 8 task_postsend (in module kuyruk.signals), 9 task_preapply (in module kuyruk.signals), 7 task_prerun (in module kuyruk.signals), 8 task_presend (in module kuyruk.signals), 9 task_success (in module kuyruk.signals), 8 Timeout, 19 W worker_failure (in module kuyruk.signals), 9 worker_init (in module kuyruk.signals), 9 WORKER_LOGGING_LEVEL (kuyruk.config attribute), 18 WORKER_MAX_LOAD (kuyruk.config attribute), 19 WORKER_MAX_RUN_TIME (kuyruk.config attribute), 19 worker_shutdown (in module kuyruk.signals), 10 worker_start (in module kuyruk.signals), 9 25
bottle-rest Release 0.5.0
bottle-rest Release 0.5.0 February 18, 2017 Contents 1 API documentation 3 1.1 bottle_rest submodule.......................................... 3 2 What is it 5 2.1 REST in bottle..............................................
More informationCelery-RabbitMQ Documentation
Celery-RabbitMQ Documentation Release 1.0 sivabalan May 31, 2015 Contents 1 About 3 1.1 Get it................................................... 3 1.2 Downloading and installing from source.................................
More informationSherlock Documentation
Sherlock Documentation Release 0.3.0 Vaidik Kapoor May 05, 2015 Contents 1 Overview 3 1.1 Features.................................................. 3 1.2 Supported Backends and Client Libraries................................
More informationnucleon Documentation
nucleon Documentation Release 0.1 Daniel Pope December 23, 2014 Contents 1 Getting started with Nucleon 3 1.1 An example application......................................... 3 1.2 Our first database app..........................................
More informationWorQ Documentation. Release Daniel Miller
WorQ Documentation Release 1.1.0 Daniel Miller March 29, 2014 Contents 1 An example with Redis and a multi-process worker pool 3 2 Links 5 3 Running the tests 7 4 Change Log 9 5 API Documentation 11 5.1
More informationcotyledon Documentation
cotyledon Documentation Release Mehdi Abaakouk Feb 07, 2018 Contents 1 Contents: 1 1.1 Installation................................................ 1 1.2 API....................................................
More informationmpv Documentation Release Cory Parsons
mpv Documentation Release 0.3.0 Cory Parsons Aug 07, 2017 Contents 1 The Mpv Object 3 2 Templates 7 2.1 Base................................................... 7 2.2 Pure Python Template..........................................
More informationdjango-celery Documentation
django-celery Documentation Release 2.5.5 Ask Solem Nov 19, 2017 Contents 1 django-celery - Celery Integration for Django 3 1.1 Using django-celery........................................... 4 1.2 Documentation..............................................
More informationhelper Documentation Release Gavin M. Roy
helper Documentation Release 2.1.0 Gavin M. Roy September 24, 2013 CONTENTS i ii helper is a command-line/daemon application wrapper package with the aim of creating a consistent and fast way to creating
More informationpython-aspectlib Release 0.4.1
python-aspectlib 0.4.1 Release 0.4.1 May 03, 2014 Contents i ii aspectlib is an aspect-oriented programming, monkey-patch and decorators library. It is useful when changing behavior in existing code is
More informationECE 650 Systems Programming & Engineering. Spring 2018
ECE 650 Systems Programming & Engineering Spring 2018 User Space / Kernel Interaction Tyler Bletsch Duke University Slides are adapted from Brian Rogers (Duke) Operating System Services User and other
More informationGitHub-Flask Documentation
GitHub-Flask Documentation Release 3.2.0 Cenk Altı Jul 01, 2018 Contents 1 Installation 3 2 Configuration 5 3 Authenticating / Authorizing Users 7 4 Invoking Remote Methods 9 5 Full Example 11 6 API Reference
More informationArchan. Release 2.0.1
Archan Release 2.0.1 Jul 30, 2018 Contents 1 Archan 1 1.1 Features.................................................. 1 1.2 Installation................................................ 1 1.3 Documentation..............................................
More informationFlask-Caching Documentation
Flask-Caching Documentation Release 1.0.0 Thadeus Burgess, Peter Justin Nov 01, 2017 Contents 1 Installation 3 2 Set Up 5 3 Caching View Functions 7 4 Caching Other Functions 9 5 Memoization 11 5.1 Deleting
More informationProducer sends messages to the "hello" queue. The consumer receives messages from that queue.
Simple Message Queue using the Pika Python client (From https://www.rabbitmq.com/tutorials/tutorial-one-python.html) A producer (sender) that sends a single message and a consumer (receiver) that receives
More informationIEMS 5780 / IERG 4080 Building and Deploying Scalable Machine Learning Services
IEMS 5780 / IERG 4080 Building and Deploying Scalable Machine Learning Services Lecture 11 - Asynchronous Tasks and Message Queues Albert Au Yeung 22nd November, 2018 1 / 53 Asynchronous Tasks 2 / 53 Client
More informationtolerance Documentation
tolerance Documentation Release Alisue Apr 1, 217 Contents 1 tolerance 1 1.1 Features.................................................. 1 1.2 Installation................................................
More informationConnexion Sqlalchemy Utils Documentation
Connexion Sqlalchemy Utils Documentation Release 0.1.4 Michael Housh Apr 17, 2017 Contents 1 Connexion Sqlalchemy Utils 3 1.1 Features.................................................. 3 1.2 Running example
More informationKinto Documentation. Release Mozilla Services Da French Team
Kinto Documentation Release 0.2.2 Mozilla Services Da French Team June 23, 2015 Contents 1 In short 3 2 Table of content 5 2.1 API Endpoints.............................................. 5 2.2 Installation................................................
More informationCross-platform daemonization tools.
Cross-platform daemonization tools. Release 0.1.0 Muterra, Inc Sep 14, 2017 Contents 1 What is Daemoniker? 1 1.1 Installing................................................. 1 1.2 Example usage..............................................
More informationJunebug Documentation
Junebug Documentation Release 0.0.5a Praekelt Foundation November 27, 2015 Contents 1 Contents 3 1.1 Installation................................................ 3 1.2 Getting started..............................................
More informationpython-aspectlib Release 0.5.0
python-aspectlib 0.5.0 Release 0.5.0 March 17, 2014 Contents i ii aspectlib is an aspect-oriented programming, monkey-patch and decorators library. It is useful when changing behavior in existing code
More informationAPNs client Documentation
APNs client Documentation Release 0.2 beta Sardar Yumatov Aug 21, 2017 Contents 1 Requirements 3 2 Alternatives 5 3 Changelog 7 4 Support 9 4.1 Getting Started..............................................
More informationMyGeotab Python SDK Documentation
MyGeotab Python SDK Documentation Release 0.8.0 Aaron Toth Dec 13, 2018 Contents 1 Features 3 2 Usage 5 3 Installation 7 4 Documentation 9 5 Changes 11 5.1 0.8.0 (2018-06-18)............................................
More informationpytest-benchmark Release 2.5.0
pytest-benchmark Release 2.5.0 September 13, 2015 Contents 1 Overview 3 1.1 pytest-benchmark............................................ 3 2 Installation 7 3 Usage 9 4 Reference 11 4.1 pytest_benchmark............................................
More informationdjango-embed-video Documentation
django-embed-video Documentation Release 1.1.2-stable Juda Kaleta Nov 10, 2017 Contents 1 Installation & Setup 3 1.1 Installation................................................ 3 1.2 Setup...................................................
More informationredis-lua Documentation
redis-lua Documentation Release 2.0.8 Julien Kauffmann October 12, 2016 Contents 1 Quick start 3 1.1 Step-by-step analysis........................................... 3 2 What s the magic at play here?
More informationGridMap Documentation
GridMap Documentation Release 0.14.0 Daniel Blanchard Cheng Soon Ong Christian Widmer Dec 07, 2017 Contents 1 Documentation 3 1.1 Installation...................................... 3 1.2 License........................................
More informationEasy-select2 Documentation
Easy-select2 Documentation Release 1.2.2 Lobanov Stanislav aka asyncee September 15, 2014 Contents 1 Installation 3 2 Quickstart 5 3 Configuration 7 4 Usage 9 5 Reference 11 5.1 Widgets..................................................
More informationJupyterHub Documentation
JupyterHub Documentation Release 0.4.0.dev Project Jupyter team January 30, 2016 User Documentation 1 Getting started with JupyterHub 3 2 Further reading 11 3 How JupyterHub works 13 4 Writing a custom
More informationPusher Documentation. Release. Top Free Games
Pusher Documentation Release Top Free Games January 18, 2017 Contents 1 Overview 3 1.1 Features.................................................. 3 1.2 The Stack.................................................
More informationContents: 1 Basic socket interfaces 3. 2 Servers 7. 3 Launching and Controlling Processes 9. 4 Daemonizing Command Line Programs 11
nclib Documentation Release 0.7.0 rhelmot Apr 19, 2018 Contents: 1 Basic socket interfaces 3 2 Servers 7 3 Launching and Controlling Processes 9 4 Daemonizing Command Line Programs 11 5 Indices and tables
More informationPlaying tasks with Django & Celery
Playing tasks with Django & Celery @fireantology 1 About me I'm a Web Developer Python, Javascript, PHP, Java/Android celery contributor (just one of the hundreds ) About Jamendo Jamendo is a community
More informationpybtsync Documentation
pybtsync Documentation Release 0.0.1 Tiago Macarios December 04, 2014 Contents 1 Tutorial and Walkthrough 3 1.1 Getting Started.............................................. 3 2 pybtsync module classes
More informationretask Documentation Release 1.0 Kushal Das
retask Documentation Release 1.0 Kushal Das February 12, 2016 Contents 1 Dependencies 3 2 Testimonial(s) 5 3 User Guide 7 3.1 Introduction............................................... 7 3.2 Setting
More informationdjango-cron Documentation
django-cron Documentation Release 0.3.5 Tivix Inc. Mar 04, 2017 Contents 1 Introduction 3 2 Installation 5 3 Configuration 7 4 Sample Cron Configurations 9 4.1 Retry after failure feature........................................
More informationHOW TO FLASK. And a very short intro to web development and databases
HOW TO FLASK And a very short intro to web development and databases FLASK Flask is a web application framework written in Python. Created by an international Python community called Pocco. Based on 2
More informationPython Utils Documentation
Python Utils Documentation Release 2.2.0 Rick van Hattem Sep 27, 2017 Contents 1 Useful Python Utils 3 1.1 Links................................................... 3 1.2 Requirements for installing:.......................................
More informationweb-transmute Documentation
web-transmute Documentation Release 0.1 Yusuke Tsutsumi Dec 19, 2017 Contents 1 Writing transmute-compatible functions 3 1.1 Add function annotations for input type validation / documentation..................
More informationPython StatsD Documentation
Python StatsD Documentation Release 3.2.2 James Socol Dec 15, 2017 Contents 1 Installing 3 2 Contents 5 2.1 Configuring Statsd............................................ 5 2.2 Data Types................................................
More informationcursesmenu Documentation
cursesmenu Documentation Release 0.5.0 Author March 04, 2016 Contents 1 Installation 3 2 Usage 5 2.1 Getting a selection............................................ 6 3 API Reference 7 3.1 CursesMenu
More informationIEMS 5722 Mobile Network Programming and Distributed Server Architecture
Department of Information Engineering, CUHK MScIE 2 nd Semester, 2016/17 IEMS 5722 Mobile Network Programming and Distributed Server Architecture Lecture 9 Asynchronous Tasks & Message Queues Lecturer:
More informationizzati Documentation Release Gustav Hansen
izzati Documentation Release 1.0.0 Gustav Hansen Sep 03, 2017 Contents: 1 Why? 3 1.1 Features.................................................. 3 2 Quickstart - Backend 5 2.1 Installation................................................
More informationdjango-modern-rpc Documentation
django-modern-rpc Documentation Release 0.10.0 Antoine Lorence Dec 11, 2017 Table of Contents 1 What is RPC 1 2 What is django-modern-rpc 3 3 Requirements 5 4 Main features 7 5 Quick-start 9 5.1 Quick-start
More informationscrapekit Documentation
scrapekit Documentation Release 0.1 Friedrich Lindenberg July 06, 2015 Contents 1 Example 3 2 Reporting 5 3 Contents 7 3.1 Installation Guide............................................ 7 3.2 Quickstart................................................
More informationOTX to MISP. Release 1.4.2
OTX to MISP Release 1.4.2 May 11, 2018 Contents 1 Overview 1 1.1 Installation................................................ 1 1.2 Documentation.............................................. 1 1.3 Alienvault
More informationhuey Documentation Release charles leifer
huey Documentation Release 1.7.0 charles leifer Feb 12, 2018 Contents 1 At a glance 3 2 Redis 5 3 Table of contents 7 3.1 Installing................................................. 7 3.2 Getting Started..............................................
More informationZeroVM Package Manager Documentation
ZeroVM Package Manager Documentation Release 0.2.1 ZeroVM Team October 14, 2014 Contents 1 Introduction 3 1.1 Creating a ZeroVM Application..................................... 3 2 ZeroCloud Authentication
More informationRelease Manu Phatak
cache r equestsdocumentation Release 4.0.0 Manu Phatak December 26, 2015 Contents 1 Contents: 1 1.1 cache_requests.............................................. 1 1.2 Installation................................................
More informationFriday, 11 April 14. Advanced methods for creating decorators Graham Dumpleton PyCon US - April 2014
Advanced methods for creating decorators Graham Dumpleton PyCon US - April 2014 Intermission Rant about the history of this talk and why this topic matters. Python decorator syntax @function_wrapper def
More informationIERG 4080 Building Scalable Internet-based Services
Department of Information Engineering, CUHK Term 1, 2016/17 IERG 4080 Building Scalable Internet-based Services Lecture 7 Asynchronous Tasks and Message Queues Lecturer: Albert C. M. Au Yeung 20 th & 21
More informationMongo Task Queue Documentation
Mongo Task Queue Documentation Release 0.0.0 Sean Ross-Ross April 30, 2015 Contents 1 API 3 1.1 Connection................................................ 3 1.2 Queue...................................................
More informationf5-icontrol-rest Documentation
f5-icontrol-rest Documentation Release 1.3.10 F5 Networks Aug 04, 2018 Contents 1 Overview 1 2 Installation 3 2.1 Using Pip................................................. 3 2.2 GitHub..................................................
More informationnewauth Documentation
newauth Documentation Release 0.0.1 adrien-f April 11, 2015 Contents 1 Installation 3 1.1 Dependencies............................................... 3 1.2 Downloading...............................................
More informationyardstick Documentation
yardstick Documentation Release 0.1.0 Kenny Freeman December 30, 2015 Contents 1 yardstick 3 1.1 What is yardstick?............................................ 3 1.2 Features..................................................
More informationMaking Python a better scripting language
Making Python a better scripting language Nicola Musatti nicola.musatti@gmail.com @NMusatti http://wthwdik.wordpress.com Agenda Why are we here? What is a scripting language? A programming language of
More informationdjango-redis-cache Documentation
django-redis-cache Documentation Release 1.5.2 Sean Bleier Nov 15, 2018 Contents 1 Intro and Quick Start 3 1.1 Intro................................................... 3 1.2 Quick Start................................................
More informationScrapy-Redis Documentation
Scrapy-Redis Documentation Release 0.7.0-dev Rolando Espinoza Nov 13, 2017 Contents 1 Scrapy-Redis 3 1.1 Features.................................................. 3 1.2 Requirements...............................................
More informationpysharedutils Documentation
pysharedutils Documentation Release 0.5.0 Joel James August 07, 2017 Contents 1 pysharedutils 1 2 Indices and tables 13 i ii CHAPTER 1 pysharedutils pysharedutils is a convenient utility module which
More informationredis-lock Release 3.2.0
redis-lock Release 3.2.0 Sep 05, 2018 Contents 1 Overview 1 1.1 Usage................................................... 1 1.2 Features.................................................. 3 1.3 Implementation..............................................
More informationjosync Documentation Release 1.0 Joel Goop and Jonas Einarsson
josync Documentation Release 1.0 Joel Goop and Jonas Einarsson May 10, 2014 Contents 1 Contents 3 1.1 Getting started.............................................. 3 1.2 Jobs....................................................
More informationGMusicProcurator Documentation
GMusicProcurator Documentation Release 0.5.0 Mark Lee Sep 27, 2017 Contents 1 Features 3 2 Table of Contents 5 2.1 Installation................................................ 5 2.1.1 Requirements..........................................
More informationPython Finite State Machine. Release 0.1.5
Python Finite State Machine Release 0.1.5 Sep 15, 2017 Contents 1 Overview 1 1.1 Installation................................................ 1 1.2 Documentation..............................................
More informationRequests Mock Documentation
Requests Mock Documentation Release 1.5.1.dev4 Jamie Lennox Jun 16, 2018 Contents 1 Overview 3 2 Using the Mocker 5 2.1 Activation................................................ 5 2.2 Class Decorator.............................................
More informationScrapyd Documentation
Scrapyd Documentation Release 1.2.0 Scrapy group Jan 19, 2018 Contents 1 Contents 3 1.1 Overview................................................. 3 1.2 Installation................................................
More informationPyZabbixObj Documentation
PyZabbixObj Documentation Release 0.1 Fabio Toscano Aug 26, 2017 Contents Python Module Index 3 i ii PyZabbixObj Documentation, Release 0.1 PyZabbixObj is a Python module for working with Zabbix API,
More informationUranium Documentation
Uranium Documentation Release 0.1 Yusuke Tsutsumi Jul 26, 2018 Contents 1 What is Uranium? 1 1.1 Installation................................................ 2 1.2 Tutorial..................................................
More informationGearthonic Documentation
Gearthonic Documentation Release 0.2.0 Timo Steidle August 11, 2016 Contents 1 Quickstart 3 2 Contents: 5 2.1 Usage................................................... 5 2.2 API....................................................
More informationdjango-crucrudile Documentation
django-crucrudile Documentation Release 0.9.1 Hugo Geoffroy (pstch) July 27, 2014 Contents 1 Installation 1 1.1 From Python package index....................................... 1 1.2 From source...............................................
More informationedeposit.amqp.antivirus Release 1.0.1
edeposit.amqp.antivirus Release 1.0.1 February 05, 2015 Contents 1 Installation 3 1.1 Initialization............................................... 3 2 Usage 5 3 Content 7 3.1 Standalone script.............................................
More informationMongoTor Documentation
MongoTor Documentation Release 0.1.0 Marcel Nicolat June 11, 2014 Contents 1 Features 3 2 Contents: 5 2.1 Installation................................................ 5 2.2 Tutorial..................................................
More informationflask-ldap3-login Documentation
flask-ldap3-login Documentation Release 0.0.0.dev0 Nick Whyte Nov 09, 2018 Contents 1 Contents: 3 1.1 Configuration............................................... 3 1.2 Quick Start................................................
More informationFasteners Documentation
Fasteners Documentation Release 0.14.1 Joshua Harlow Jul 12, 2017 Contents 1 Lock 3 1.1 Classes.................................................. 3 1.2 Decorators................................................
More informationpushjack Documentation
pushjack Documentation Release 1.4.0 Derrick Gilland Nov 10, 2017 Contents 1 Links 3 2 Quickstart 5 2.1 APNS................................................... 5 2.2 GCM...................................................
More informationPython Utils Documentation
Python Utils Documentation Release 2.2.0 Rick van Hattem Feb 12, 2018 Contents 1 Useful Python Utils 3 1.1 Links................................................... 3 1.2 Requirements for installing:.......................................
More informationsinon Documentation Release Kir Chou
sinon Documentation Release 0.1.1 Kir Chou Jun 10, 2017 Contents 1 Overview 3 2 Contents 5 2.1 Setup................................................... 5 2.2 Spies...................................................
More informationRelease Ralph Offinger
nagios c heck p aloaltodocumentation Release 0.3.2 Ralph Offinger May 30, 2017 Contents 1 nagios_check_paloalto: a Nagios/Icinga Plugin 3 1.1 Documentation..............................................
More informationrequests-cache Documentation
requests-cache Documentation Release 0.4.13 Roman Haritonov Nov 09, 2017 Contents 1 User guide 3 1.1 Installation................................................ 3 1.2 Usage...................................................
More informationConnexion Documentation
Connexion Documentation Release 0.5 Zalando SE Nov 16, 2017 Contents 1 Quickstart 3 1.1 Prerequisites............................................... 3 1.2 Installing It................................................
More informationOstrichLib Documentation
OstrichLib Documentation Release 0.0.0 Itamar Ostricher May 10, 2016 Contents 1 utils package 3 1.1 collections utils module......................................... 3 1.2 path utils module.............................................
More informationbzz Documentation Release Rafael Floriano and Bernardo Heynemann
bzz Documentation Release 0.1.0 Rafael Floriano and Bernardo Heynemann Nov 15, 2017 Contents 1 Getting Started 3 2 Flattening routes 5 3 Indices and tables 7 3.1 Model Hive................................................
More informationpika Documentation Release Gavin M. Roy
pika Documentation Release 0.9.12 Gavin M. Roy May 15, 2013 CONTENTS 1 Installing Pika 3 2 Using Pika 5 2.1 Connecting to RabbitMQ........................................ 5 2.2 Using the Channel Object........................................
More informationStatsd Metrics Documentation
Statsd Metrics Documentation Release 1.0.0 Farzad Ghanei Aug 05, 2018 Contents 1 Metrics 3 1.1 metrics Metric classes and helper functions............................ 4 2 Client 7 2.1 client Statsd client.........................................
More informationDjango-environ Documentation
Django-environ Documentation Release 0.4.3 joke2k Aug 18, 2017 Contents 1 Django-environ 3 2 How to install 7 3 How to use 9 4 Supported Types 11 5 Tips 13 6 Tests 15 7 License 17 8 Changelog 19 9 Credits
More informationError code. Description of the circumstances under which the problem occurred. Less than 200. Linux system call error.
Error code Less than 200 Error code Error type Description of the circumstances under which the problem occurred Linux system call error. Explanation of possible causes Countermeasures 1001 CM_NO_MEMORY
More informationPypeline Documentation
Pypeline Documentation Release 0.2 Kyle Corbitt May 09, 2014 Contents 1 Contents 3 1.1 Installation................................................ 3 1.2 Quick Start................................................
More informationspacetrack Documentation
spacetrack Documentation Release 0.13.1 Frazer McLean Feb 03, 2018 Contents 1 Installation 3 1.1 pip.................................................. 3 1.2 Git..................................................
More informationCSE : Python Programming. Decorators. Announcements. The decorator pattern. The decorator pattern. The decorator pattern
CSE 399-004: Python Programming Lecture 12: Decorators April 9, 200 http://www.seas.upenn.edu/~cse39904/ Announcements Projects (code and documentation) are due: April 20, 200 at pm There will be informal
More informationI hate money. Release 1.0
I hate money Release 1.0 Nov 01, 2017 Contents 1 Table of content 3 2 Indices and tables 15 i ii «I hate money» is a web application made to ease shared budget management. It keeps track of who bought
More informationSSH Deploy Key Documentation
SSH Deploy Key Documentation Release 0.1.1 Travis Bear February 03, 2014 Contents 1 Overview 1 2 Source Code 3 3 Contents 5 3.1 Alternatives................................................ 5 3.2 Compatibility...............................................
More informationBuilding a Real-time Notification System
Building a Real-time Notification System September 2015, Geneva Author: Jorge Vicente Cantero Supervisor: Jiri Kuncar CERN openlab Summer Student Report 2015 Project Specification Configurable Notification
More informationPython Telegram Bot Documentation
Python Telegram Bot Documentation Release 8.0.0 Leandro Toledo Sep 28, 2017 Contents 1 telegram package 3 1.1 telegram.ext package......................................... 3 1.1.1 telegram.ext.updater....................................
More informationBambu API Documentation
Bambu API Documentation Release 2.0.1 Steadman Sep 27, 2017 Contents 1 About Bambu API 3 2 About Bambu Tools 2.0 5 3 Installation 7 4 Basic usage 9 5 Questions or suggestions? 11 6 Contents 13 6.1 Defining
More informationdjango-embed-video Documentation
django-embed-video Documentation Release 0.7.stable Juda Kaleta December 21, 2013 Contents i ii Django app for easy embeding YouTube and Vimeo videos and music from SoundCloud. Repository is located on
More informationpymonetdb Documentation
pymonetdb Documentation Release 1.0rc Gijs Molenaar June 14, 2016 Contents 1 The MonetDB MAPI and SQL client python API 3 1.1 Introduction............................................... 3 1.2 Installation................................................
More informationflask-dynamo Documentation
flask-dynamo Documentation Release 0.1.2 Randall Degges January 22, 2018 Contents 1 User s Guide 3 1.1 Quickstart................................................ 3 1.2 Getting Help...............................................
More informationTraits CLI Documentation
Traits CLI Documentation Release 0.1.0 Takafumi Arakaki March 22, 2013 CONTENTS 1 Links 3 2 Installation 5 3 Dependencies 7 4 Sample 9 5 CLI base class 11 6 Utility functions 19 7 Change log 21 7.1 v0.1....................................................
More informationIBM Scheduler for High Throughput Computing on IBM Blue Gene /P Table of Contents
IBM Scheduler for High Throughput Computing on IBM Blue Gene /P Table of Contents Introduction...3 Architecture...4 simple_sched daemon...4 startd daemon...4 End-user commands...4 Personal HTC Scheduler...6
More informationAiroscript-ng Documentation
Airoscript-ng Documentation Release 0.0.4 David Francos Cuartero January 22, 2015 Contents 1 Airoscript-ng 3 1.1 Features.................................................. 3 1.2 TODO..................................................
More informationDogpile.Cache Documentation
Dogpile.Cache Documentation Release 0.6.6 Mike Bayer Mar 05, 2018 Contents 1 Front Matter 3 1.1 Project Homepage............................................ 3 1.2 Installation................................................
More information