semvec/pypi-packages huggingface dataset:
timer3 0.1.2
timer3 - Scheduler for Python functions.
License: BSD

#############################################
 timer3 - Schedule Python functions.
#############################################

:Version: 0.1.0

Introduction
------------

The ``timer3`` module lets you schedule Python functions at specific times,
or at an interval. It can be used as a replacement to ``threading.Timer``,
the difference is that ``timer3`` is always only using a single thread (unless
you manually start more of them)

You should never use this to apply expensive operations, as this would not
be effective when running in a single thread, rather you should make the
timer move the operations to a execution pool (like a thread/multiprocessing
pool, or maybe sending a message)::

    >>> pool = multiprocessing.Pool()
    >>> timer3.apply_after(10000, pool.apply_async, (expensive_fun, ))


Installation
============

You can install ``timer3`` either via the Python Package Index (PyPI)
or from source.

To install using ``pip``,::

    $ pip install timer3


Examples
========

Apply function after ``n`` msecs::

    >>> import timer3
    >>> timer3.apply_after(msecs, fun, args, kwargs, priority=0)

Apply function every ``n`` msecs::

    >>> timer3.apply_interval(msecs, fun, args, kwargs, priority=0)

Apply function at a specific date (a ``datetime`` object)::

    >>> timer3.apply_at(datetime, fun, args, kwargs, priority=0)

Cancelling timers
-----------------

The ``apply_*`` functions returns a ``timer3.Entry`` instance,
you can use this to cancel the execution::

    >>> tref = timer3.apply_after(msecs, fun, args, kwargs)
    >>> tref.cancel()


Running custom ``Timer`` threads
--------------------------------

When using the module interface a default timer thread is started
as soon as you schedule something. If you want to keep track of the
thread manually, you can use the ``timer3.Timer`` class::

    >>> timer = timer3.Timer()
    >>> timer.apply_after(msecs, fun, args, kwargs)
    >>> timer.stop() # stops the thread and joins it.


License
=======

This software is licensed under the ``New BSD License``. See the ``LICENSE``
file in the top distribution directory for the full license text.
arzela 0.3
Distributed System Monitor
License: BSD

# arzela

## Installation

```shell
pip install arzela
```

## Model

- Server
  - {`arzela`}\*n
  - `arzela proxy` \*1
- Client
  - {`arzela worker example`}\*m
  - or a customized one

## Grafana

## InfluxDB

- set `auth-enabled = true` in `influxdb.conf`

```
create database arzela
use arzela
# create user admin with password 'admin' with all PRIVILEGES
create user grafana with password 'grafana'
grant read on arzela to grafana
create user worker with password 'ascoli'
grant write on arzela to worker
```