No project description provided
Project description
patrolify
Do some checks every day, so that you can read the "news" in the morning while drinking coffee.
Install
How to write a check?
Define the "target" you want to check
from patrolify import Target
class IPTarget(Target):
def __init__(self, ip):
self.ip = ip
Define how to check that "target"
from patrolify import check
@check(IPTarget)
def check_ip(target):
return True, "it's ok"
A check function can:
- generates more targets: as long as the target can be checked by another checker;
- or return True/False to indicate the check was passed or not, plus a string indicate the extra information
How to deploy?
Reporter was written in pure Python, requirements:
- Python 3.11+
- Redis 5.0+
Installation(The name patrolify
was taken on Pypi):
pip install patrolify-platform
Then you need to run 4 components after installation:
Component Name | What for? | Dependencies | Command example | Can deploy instances? |
---|---|---|---|---|
admin | A portal so that you can see the results | filesystem, Redis | patrolify --redis-url redis://127.0.0.1:6379 admin --port 8084 |
Yes, as long as the result directory exist. |
scheduler | Trigger the checker jobs | Redis | rqscheduler --host localhost --port 6379 --db 0 (it's redis' host and port ) |
Yes, supports auto fail over |
worker(for checker) | Get jobs from queue(Redis) and run it | Redis | patrolify --redis-url redis://127.0.0.1:6379 worker --queue=checker |
Yes, every worker will get jobs from queue and run it, more workers, more work load |
worker(for patrolify) | Get jobs from queue(Redis) and run it, only works for collecting the results | Redis | patrolify --redis-url redis://127.0.0.1:6379 worker --queue=patrolify |
Yes, same above. But it must be deployed onto the same server with admin |
- scheduler
- worker (2 types, for running checker jobs and patrolify jobs)
- admin
Architecture:
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
patrolify-0.1.10.tar.gz
(1.2 MB
view hashes)
Built Distribution
Close
Hashes for patrolify-0.1.10-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3ff7b1149268275d228c0b201613f30132235e89ed1788588abddbac908d39fc |
|
MD5 | 14b1f45ace4f4d013cf372144ea247f4 |
|
BLAKE2b-256 | 14594ea1a6e0a3edfcbb4e6e9f507f9975cc65ec962b62d28df195de598f76e2 |