Skip to main content


Hallo !Friendica Support
hat jemand ein Idee wie man den Daemon.php am laufen halten kann bzw. wie der sich neue startet wenn der mal wieder abgeschmurgelt ist.

Also 2-3x pro Monat schmiert das Teil ab und dann muss man den immer manuell neu starten sofern dies merkt und in dem Zeitraum Shell zugriff hat.

#daemon #neustart #idee
A) Cron job, der das Ding regelmรครŸig neu startet ... oder
B) Config key in deiner local.config.php, der das automatisch erledigt (key findet man in der 'defaults...' Datei im Ordner .../static/)
@Jakob :friendica: ๐Ÿ‡ฆ๐Ÿ‡น โœ…
ja nun bei root access auf einen virtuelle oder bare metal maschine gibt es ja damit keine Probleme. Deswegen dachte ich nachdem #friendica ja als mรถglich auf Shared Host System angepriesen wird, das man auch hierfรผr eine nette Lรถsung hรคtte.
Dafรผr wird wohl der cronjob da sein ๐Ÿ˜Š
@Jakob :friendica: ๐Ÿ‡ฆ๐Ÿ‡น โœ…
nun wenn ich es richtig gelesen habe, soll man den ja "normalerweise" nicht mehr nutzen sondern den Daemon Starten.
Aber wie hier in de Verlauf schon andere geschrieben haben, nutzen sie den Cronjob um den Daemon immer mal wieder zu starten, was er ja wohl nicht macht wenn er schon lรคuft und wenn nicht dann einfach neu startet.

so manchmal fehlt mir einfach die Dokumentation von #friendica in speziellen Fรคllen.
bei mir ist die folgende crontab zeile fรผr den Friendica User aktiv
14 * * * * [ -d /usr/local/opt/friendica ] && cd /usr/local/opt/friendica && php bin/daemon.php status|grep -q " is running." || php bin/daemon.php start

damit wird jede Stunde der Daemon geprรผft und ggf. neu gestartet
@powo01@jakob Wรคre das der Ersatz fรผr den Aufruf von /bin/worker.php รผber Cronjob?
Der Daemon.

$ systemctl cat friendicaworkerdaemon.service 
# /etc/systemd/system/friendicaworkerdaemon.service
[Unit]
Description=Friendica Worker Daemon
After=network.target mysqld.service
Requires=network.target remote-fs.target nss-lookup.target
OnFailure=failed-email@%n.service
StartLimitIntervalSec=1m

[Service]
Type=forking
Restart=always
User=www-data
Group=www-data
WorkingDirectory=/var/www/soc.schuerz.at/
ExecStart=/usr/bin/php bin/daemon.php start
ExecStop=/usr/bin/php bin/daemon.php stop
#StandardOutput=null
#StandardError=syslog
PIDFile=friendica/daemon.pid
PrivateTmp=true
#InaccessibleDirectories=/home /root /boot /opt /mnt /media
InaccessibleDirectories=/home /root /boot /opt /media
ReadOnlyDirectories=/etc /usr
Restart=always
TimeoutSec=60
RestartSec=10s
StartLimitBurst=6
Nice=17

[Install]
WantedBy=multi-user.target
aus meiner Sicht ja ...
@7homas โ™“@Jakob :friendica: ๐Ÿ‡ฆ๐Ÿ‡น โœ… Wenn du die Moeglichkeit hast, dann starte immer den Daemon, da dieser zuegiger die Foerderierung macht, als der Cron-Job. Der Cron-Job gilt als Notfallloesung, falls du - wie bei Shared-Hostern ueblich - keinen SSH-Zugang hast und somit den Daemon nicht starten kannst.
@Roland Hรคder Ist das im Grunde das gleiche wie ein Worker? Also arbeitet der auch die beiden Warteschlangen im Adminbereich ab? (habe jetzt auch mal den daemon gestartet und den cronjob auskommentiert.)
@Roland Hรคder
Aus dem Grund habe ich ja auf den Daemon umgestellt.
Ich habe zwar einen SSH Zugang aber eben nur auf bestimmte Bereich ... ein System Service gehรถrt da leider nicht dazu. Somit bleibt mir nur ein Cronjob oder ein eigenes Skript welches dann per Cron prรผft ob der Daemon noch lebt und ihn ggf. neu startet. So genau hab ich mir das Daemon.php Skript noch nicht angeschaut.
@Jakob :friendica: ๐Ÿ‡ฆ๐Ÿ‡น โœ…
@7homas โ™“ Moin. Wenn deine Linux Distri systemd als Init-System benutzt, kannst du in der Service-Unit fรผr den Worker unter [Service] restart=always eintragen. Danach noch die Unit mit systemctl daemon-reload neu laden und den Worker restarten. Danach ist das Problem nicht laufender Workers weg. Ein cronjob und bash script, die den Restart erledigen, brauchst du dann nicht. Eine eventuell auftretende Restart-Orgie (Worker bricht ab, systemd restartet, Worker bricht sofort wieder ab) beendet systemd von alleine nach 10 Wiederholungen).
@ITMC GmbH
รคhm wie schon mal erwรคhnt ich habe keinen Ruth รคhm root zugriff ich kann DB anlegen, Webspace belegen, Cronjob einrichten, auf die Shell in meinem Verzeichnis gehen, Domains und Subdomains einrichten, ja das war es dann auch so
โ‡ง