Cronjob per Plugin installieren - Ausführung kommt nicht zurück

Hallo zusammen,

ich habe ein kleines Test Plugin geschrieben, um einen neuen CronJob per Plugin in Version 5.2.20 zu installieren. Dies mache ich wie folgt:

FpTest/FpTest.php:

 'onCronRun'
		];
	}

	public function install(InstallContext $context) {
        parent::install($context);
        return true;
    }

	/**
     * uninstall method
     * @param InstallContext $context
     * @return boolean
     */
	public function uninstall(UninstallContext $context) {
        parent::uninstall($context);
    }    

	public function onCronRun(\Shopware_Components_Cron_CronJob $job) {

        return true;

    }

}

 

FpTest/Resources/cronjob.xml:

        Fp Test
        Shopware_CronJob_FpTest
        true
        0
        true

Das funktioniert soweit auch. Was nun nicht stimmt, ist wenn ich den Cronjob ausführe:

root@cc4dcad885a1:/var/www/html# php bin/console sw:cron:run Shopware_CronJob_FpTest
Processing Fp Test

So steht es dann im Terminal, sprich der Cron kommt irgendwie nicht zurück. Processing Fp Test steht dort ewig - ich würde die Kommandozeile nach dem Run erwarten. Warum ist das so? Habe ich irgendeinen Fehler im Code?

Ich habe es herausgefunden. Es liegt daran, dass der Cron keinen Intervall hat.  Grin

Eigentlich müsste alles stimmen. Wenn du den CronJob über die Adressleiste ausführst, bekommst du genau die gleiche Auflistung der verarbeiteten CronJobs… Da sich die Httpseite nicht ohne weiteres aktualisieren kann, gehe ich mal davon aus, dass das alles ist, was du zurückbekommst. Der Rückgabewert (dein true) wird in das Ergebnisfeld des in Shopware unter Grundeinstellungen definierten Cronjobs angezeigt.