Nur bestimmten Shopware Cronjob aufrufen

Hi, für den Newslettercronjob gibt es laut zahlreichen Anleitungen die URL example.com/backend/newsletter/cron. OK.

Doch wie kann ich die den Cronjob RefreshSeoIndex  aufrufen? Hier bekomme ich als Antwort " Controller “RefreshSeoIndex” not found"

Falls das nicht geht, wie kann man aus PHP heraus die CLI Befehle ausfüren? Oder kann man einen Cronjobaufruf auf den CLI geben?

Danke und Gruss

SW 5.6.7

Hallo,

über CLI kannst Du auch einzelne Crons aufrufen - Details findest Du über den Befehl bin/console sw:cron:run --help

 

Usage:
  sw:cron:run [options] [–] []

Arguments:
  cronjob                  If given, only run the cronjob which action matches, e.g. ‚Shopware_CronJob_ClearHttpCache‘

Options:
  -f, --force              If given, the cronjob(s) will be run regardless of scheduling
  -h, --help               Display this help message
  -q, --quiet              Do not output any message
  -V, --version            Display this application version
      --ansi               Force ANSI output
      --no-ansi            Disable ANSI output
  -n, --no-interaction     Do not ask any interactive question
      --process-isolation  Launch commands from shell as a separate process.
  -e, --env=ENV            The Environment name. [default: „production“]
  -v|vv|vvv, --verbose     Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug

Help:
  The sw:cron:run runs due cronjobs.

 

Viele Grüße

 

1 „Gefällt mir“

Ich mache das über CLI sw:rebuild:seo:index

1 „Gefällt mir“

Vielen Dank,@SCOOPEX‍

wie kann man die aus PHP heraus aufrufen bzw in @TimmeHosting‍ als einzelnen Cron aufrufen?

Ich habe das in einer eigenen Schnittstelle mit eingebaut und rufe das ganze mittels PHP und exec() auf. Aber so ein Cronjob kann auch über SSH ausgeführt werden:

/opt/plesk/php/7.3/bin/php bin/console sw:rebuild:seo:index

(nur ein Beispiel)

mhhh, gibts auch was anderes ausser ausgerechnet exec ? :stuck_out_tongue: @R4M‍

@brettvormkopp schrieb:

mhhh, gibts auch was anderes ausser ausgerechnet exec ? :stuck_out_tongue: @R4M‍

Ja klar, steht in der Doku zu PHP exec(), aber in meinem Falle habe ich eine externe Verwaltung wo am Ende das ausgeführt werden soll. 

Hallo,

hier findest Du analog die Anleitung für Cronjobs bei ISPConfig:

https://timmehosting.de/anlegen-eines-cron-jobs

Viele Grüße

Du kannst einen symfony command auch via PHP ausführen. Siehe z.B. https://symfony.com/doc/current/console/command_in_controller.html

Viele Grüße

2 „Gefällt mir“

@EikeBrandtWarneke‍ Das sieht sehr aufgeräumt aus. THX.

Ich würde empfehlen, einen Cron Job in ISPConfig anzulegen, wie von @SCOOPEX‍ vorgeschlagen. Der Befehl könnte dann wie folgt aussehen:

[php] bin/console sw:rebuild:seo:index

[php] wird automatisch vom ISPConfig durch die PHP-Version ersetzt, die Du für Deine Website ausgewählt hast.

Timme Hosting - schnelles nginx-Hosting

www.timmehosting.de

1 „Gefällt mir“