Skip to main content

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)

Corporation Projects

  • Started (CorporationGoalCreated)
  • Closed (CorporationGoalClosed)
  • Completed (CorporationGoalCompleted)
  • Expired (CorporationGoalExpired)
  • Limit Reached (CorporationGoalLimitReached)

Installation

  1. 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.
  1. pip install allianceauth-corptools-pinger
  2. Add 'pinger', to your INSTALLED_APPS in your projects local.py
  3. Migrate, Collectstatic, Restart Auth.
  4. Configure Pinger at /admin/pinger/pingerconfig/1/change/
  5. 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"]

Metadata

Release files for allianceauth-corptools-pinger 1.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for allianceauth-corptools-pinger 1.2.0
File Size Uploaded
allianceauth_corptools_pinger-1.2.0.tar.gz 48.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for allianceauth-corptools-pinger 1.2.0
File Interpreter ABI Platform
allianceauth_corptools_pinger-1.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 116.1 kB

Release files / allianceauth_corptools_pinger-1.2.0.tar.gz

Download URL allianceauth_corptools_pinger-1.2.0.tar.gz
Size 48.6 kB
Tags Source
SHA-256 checksum
How to use checksums
f7f1d0d7df988da698c36c5377a3ffe90497ac319c97499e20ee1e18542cac01
BLAKE2b-256 checksum
How to use checksums
fa8cd454c99867f48558aef439be235afbe55841f40a42f64df8e2c74f5276fc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.15

Release files / allianceauth_corptools_pinger-1.2.0-py3-none-any.whl

Download URL allianceauth_corptools_pinger-1.2.0-py3-none-any.whl
Size 67.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0418d4ad469b1e6062bbc691ac0821920100a8c1292e1a20ddad754763f7d02f
BLAKE2b-256 checksum
How to use checksums
003505f960625e8755764d229c66e6bb4c56045465a776f8851462ef7ae75d99
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.15
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page