Alliance Auth Plugin
Project description
High Performance Pings
Leverage the corptools data to notify via discord certain events at a corp/alliance level
filter on/off regions/const/system/corps/alliances/types/strucutre type/notification type via admin. end specific notifications to different places via webhooks
configurable @ settings
What Pings are Available
Structures
- Attack/Reinforce
- StructureLostShields
- StructureLostArmor
- StructureUnderAttack
- low fuel ()
- abandoned ()
- destroyed (StructureDestroyed)
- low power (StructureWentLowPower)
- anchoring (StructureAnchoring)
- unanchoring (StructureUnanchoring)
- high power (StructureWentHighPower)
- transfer (OwnershipTransferred)
POS
- Attack/Reinforce
- TowerAlertMsg
Sov
- Attacks
- SovStructureReinforced
- EntosisCaptureStarted
- POS Anchoring (AllAnchoringMsg) - Currently disabled by CCP
Moons
- Extraction Started (MoonminingExtractionStarted)
- Extraction Complete (MoonminingExtractionFinished)
- Laser Fired (MoonminingLaserFired)
- Auto Fracture (MoonminingAutomaticFracture)
HR
- New Application (CorpAppNewMsg)
Installation
- This app requires Corp-Tools to leverage Notification Data, install this first.
- Assumptions made:
- All characters that can provide notifications for the pings are loaded into the Character Audit module with at least notifications and roles modules enabled
- All corporations that need to be monitored for fuel have a structures token loaded in the Corporation Audit Module.
- All corporations that need to get fuel/lo/gas notifications have an assets token loaded in the Corporation Audit Module.
pip install allianceauth-corptools-pinger
- Add
'pinger',
to yourINSTALLED_APPS
in your projectslocal.py
- Migrate, Collectstatic, Restart Auth.
- Configure Pinger at
/admin/pinger/pingerconfig/1/change/
- Verify pinger is setup with
python manage.py pinger_stats
Setup
add periodic task, default timing below.
pinger.tasks.bootstrap_notification_tasks
make a new cron */10 * * * * *
Optional Optimization
This is only required if you have issues with backlog on your main workers. Generally not an issue for smaller installations.
Separate Worker Queue
Edit myauth/myauth/celery.py
app.conf.task_routes = {.....
'pinger.tasks.corporation_notification_update': {'queue':'pingbot'},
.....
}
Bare Metal
Add program block to supervisor.conf
[program:pingbot]
command=/path/to/venv/venv/bin/celery -A myauth worker --pool=threads --concurrency=5 -Q pingbot
directory=/home/allianceserver/myauth
user=allianceserver
numprocs=1
stdout_logfile=/home/allianceserver/myauth/log/pingbot.log
stderr_logfile=/home/allianceserver/myauth/log/pingbot.log
autostart=true
autorestart=true
startsecs=10
stopwaitsecs=60
killasgroup=true
priority=998
Docker
add a new worker container
allianceauth_worker_pingbot:
container_name: allianceauth_worker_pingbot
<<: [*allianceauth-base, *allianceauth-health-checks]
entrypoint: ["celery","-A","myauth","worker","--pool=threads","--concurrency=10","-Q","pingbot","-n","P_%n"]
Settings
Name | Description | Default |
---|---|---|
CT_PINGER_VALID_STATES |
A List of Valid States to be queries for Pinger notifications | ["Member"] |
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Close
Hashes for allianceauth-corptools-pinger-0.5.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0dd94b67eda2d8820d1a567881783ab898e55c9f531aad7a55572978449b8380 |
|
MD5 | 3e64a527d237b79ded8ee3fde65b7581 |
|
BLAKE2b-256 | c6e2c62910b10bcb958f282ef4316e40a2d4685f8443751cd2b46944304fba57 |