From 1037622f3fb7e1441a3d62be3183ff3877978303 Mon Sep 17 00:00:00 2001 From: Egg Date: Sun, 21 May 2023 23:23:37 +0200 Subject: [PATCH] reordered sleep. updated deployment files --- backend.py | 5 +++-- deployment/backend_daemon | 15 +++++++++++++ deployment/backup.sh | 21 ------------------ deployment/borgbackup.sh | 15 +++++++++++++ deployment/example.org.conf | 31 --------------------------- deployment/frontend_daemon | 15 +++++++++++++ deployment/ticketfrei-backend.service | 17 --------------- deployment/ticketfrei-web.service | 19 ---------------- ticketfrei-backend.service | 20 ----------------- 9 files changed, 48 insertions(+), 110 deletions(-) create mode 100644 deployment/backend_daemon delete mode 100644 deployment/backup.sh create mode 100644 deployment/borgbackup.sh delete mode 100644 deployment/example.org.conf create mode 100644 deployment/frontend_daemon delete mode 100644 deployment/ticketfrei-backend.service delete mode 100644 deployment/ticketfrei-web.service delete mode 100644 ticketfrei-backend.service diff --git a/backend.py b/backend.py index 2c41fd9..56e39da 100755 --- a/backend.py +++ b/backend.py @@ -31,16 +31,17 @@ if __name__ == '__main__': while True: for user in db.active_users: for bot in bots: + sleep(0.5) reports = bot.crawl(user) for status in reports: + sleep(0.5) if not user.is_appropriate(status): logger.info("Inaproppriate message: %d %s %s" % (user.uid, status.author, status.text)) continue for bot2 in bots: + sleep(0.5) bot2.post(user, status) logger.info("Resent: %d %s %s" % (user.uid, status.author, status.text)) - sleep(0.5) - sleep(0.5) except Exception: logger.error("Shutdown.", exc_info=True) shutdown() diff --git a/deployment/backend_daemon b/deployment/backend_daemon new file mode 100644 index 0000000..7553769 --- /dev/null +++ b/deployment/backend_daemon @@ -0,0 +1,15 @@ +#!/bin/ksh + +daemon="/usr/local/bin/python3 /srv/ticketfrei/backend.py" +daemon_user="root" + +. /etc/rc.d/rc.subr + +rc_bg=YES +rc_reload=NO + +rc_start() { + ${rcexec} "cd /srv/ticketfrei; nice -n15 ${daemon} ${daemon_flags}" +} + +rc_cmd $1 diff --git a/deployment/backup.sh b/deployment/backup.sh deleted file mode 100644 index e547dbc..0000000 --- a/deployment/backup.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/sh -# This is a script to backup the necessary components for a deployment with -# nginx and uwsgi with borgbackup. - -# stop the services -service ticketfrei-web stop -service ticketfrei-backend stop - -# export repository passphrase -export BORG_PASSPHRASE='password' - -# create backup -borg create --stats --progress backup:repositories-borg/ticketfrei::'backup{now:%Y%m%d}' /etc/aliases /var/ticketfrei/db.sqlite /srv/ticketfrei/config.toml - -# restart the service -service ticketfrei-backend start -service ticketfrei-web start - -# prune outdated backups to save storage -borg prune --keep-daily=7 --keep-weekly=4 backup:repositories-borg/ticketfrei - diff --git a/deployment/borgbackup.sh b/deployment/borgbackup.sh new file mode 100644 index 0000000..f6a32b9 --- /dev/null +++ b/deployment/borgbackup.sh @@ -0,0 +1,15 @@ +#!/bin/ksh +. /etc/borg-env +export BORG_REPO=nathan@nephilim:repositories-borg/ticketfrei +export BORG_RSH="ssh \ +-o TCPKeepAlive=no \ +-o ServerAliveInterval=15 \ +-o ServerAliveCountMax=10 \ +-o Compression=no" + +rcctl stop backend_daemon +rcctl stop frontend_daemon +/usr/local/bin/borg create --stats ::'backup{now:%Y%m%d-%H%M}' /srv/ticketfrei /var/ticketfrei /etc +rcctl start backend_daemon +rcctl start frontend_daemon + diff --git a/deployment/example.org.conf b/deployment/example.org.conf deleted file mode 100644 index c9ea425..0000000 --- a/deployment/example.org.conf +++ /dev/null @@ -1,31 +0,0 @@ -server { - - listen 443 ssl; - server_name example.org; - ssl_certificate /etc/letsencrypt/live/example.org/fullchain.pem; - ssl_certificate_key /etc/letsencrypt/live/example.org/privkey.pem; - ssl_protocols TLSv1 TLSv1.1 TLSv1.2; - ssl_ciphers HIGH:!aNULL:!MD5; - - access_log /var/log/nginx/example.org_access.log; - error_log /var/log/nginx/example.org_error.log; - - add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always; - - location / { - include uwsgi_params; - - uwsgi_pass unix:///var/run/ticketfrei/ticketfrei.sock; - } - - location /.well-known/acme-challenge { - root /var/www/acme; - } -} -server { - listen 80; - listen [::]:80; - server_name example.org; - return 301 https://$server_name$request_uri; -} - diff --git a/deployment/frontend_daemon b/deployment/frontend_daemon new file mode 100644 index 0000000..dfc1c82 --- /dev/null +++ b/deployment/frontend_daemon @@ -0,0 +1,15 @@ +#!/bin/ksh + +daemon="/usr/local/bin/python3 /srv/ticketfrei/frontend.py" +daemon_user="frontend" + +. /etc/rc.d/rc.subr + +rc_bg=YES +rc_reload=NO + +rc_start() { + ${rcexec} "env > /tmp/envars; cd /srv/ticketfrei; ${daemon} ${daemon_flags}" +} + +rc_cmd $1 diff --git a/deployment/ticketfrei-backend.service b/deployment/ticketfrei-backend.service deleted file mode 100644 index 87dce2e..0000000 --- a/deployment/ticketfrei-backend.service +++ /dev/null @@ -1,17 +0,0 @@ -[Unit] -Description=Ticketfrei Backend -After=syslog.target network.target - -[Service] -WorkingDirectory=/srv/ticketfrei -ExecStart=/srv/ticketfrei/bin/python3 backend.py -# Requires systemd version 211 or newer -#RuntimeDirectory=uwsgi -Restart=always -KillSignal=SIGQUIT -Type=simple -StandardError=syslog -NotifyAccess=all - -[Install] -WantedBy=multi-user.target diff --git a/deployment/ticketfrei-web.service b/deployment/ticketfrei-web.service deleted file mode 100644 index a8ca380..0000000 --- a/deployment/ticketfrei-web.service +++ /dev/null @@ -1,19 +0,0 @@ -[Unit] -Description=Ticketfrei Web Application -After=syslog.target network.target - -[Service] -WorkingDirectory=/srv/ticketfrei -ExecStart=/usr/bin/uwsgi --ini /srv/ticketfrei/deployment/uwsgi.ini -# Requires systemd version 211 or newer -RuntimeDirectory=uwsgi -Restart=always -KillSignal=SIGQUIT -Type=notify -StandardError=syslog -NotifyAccess=all -User=tech -Group=www-data - -[Install] -WantedBy=multi-user.target diff --git a/ticketfrei-backend.service b/ticketfrei-backend.service deleted file mode 100644 index eaa8051..0000000 --- a/ticketfrei-backend.service +++ /dev/null @@ -1,20 +0,0 @@ -[Unit] -Description=Ticketfrei Backend -After=syslog.target network.target -StartLimitIntervalSec=300 -StartLimitBurst=3 - -[Service] -WorkingDirectory=/srv/ticketfrei -ExecStart=/srv/ticketfrei/bin/python3 backend.py -# Requires systemd version 211 or newer -#RuntimeDirectory=uwsgi -Restart=always -RestartSec=60 -KillSignal=SIGQUIT -Type=simple -StandardError=syslog -NotifyAccess=all - -[Install] -WantedBy=multi-user.target