Added dependency to lodner cms plugin and example scheduled task.

This commit is contained in:
2025-09-17 02:46:36 +02:00
parent 6236aa8010
commit e7b85a5cba
5 changed files with 70 additions and 21 deletions
+3 -2
View File
@@ -2,7 +2,7 @@
"name": "lodner-set-builder/lodner-set-builder",
"description": "lodner-set-builder/lodner-set-builder",
"type": "shopware-platform-plugin",
"version": "1.0.0",
"version": "0.0.1",
"authors": [
{
"name": "Matthias Lodner",
@@ -11,7 +11,8 @@
],
"license": "MIT",
"require": {
"shopware/core": "~6.7.0"
"shopware/core": "~6.7.0",
"lodner-geschmackswelten-cms/lodner-geschmackswelten-cms": "~0.0.1"
},
"extra": {
"shopware-plugin-class": "LodnerSetBuilder\\LodnerSetBuilder",
+8 -1
View File
@@ -10,10 +10,17 @@
<tag name="console.command"/>
</service>
<service id="LodnerSetBuilder\ScheduledTask\ExampleTask">
<service id="LodnerSetBuilder\ScheduledTask\UpdateTagsTask">
<tag name="shopware.scheduled.task"/>
</service>
<service id="LodnerSetBuilder\ScheduledTask\UpdateTagsHandler">
<argument type="service" id="scheduled_task.repository" />
<argument type="service" id="logger"/>
<argument type="service" id="Doctrine\DBAL\Connection"/>
<tag name="messenger.message_handler"/>
</service>
<service id="LodnerSetBuilder\Subscriber\MySubscriber">
<tag name="kernel.event_subscriber"/>
</service>
-18
View File
@@ -1,18 +0,0 @@
<?php declare(strict_types=1);
namespace LodnerSetBuilder\ScheduledTask;
use Shopware\Core\Framework\MessageQueue\ScheduledTask\ScheduledTask;
class ExampleTask extends ScheduledTask
{
public static function getTaskName(): string
{
return 'swag.example_task';
}
public static function getDefaultInterval(): int
{
return 30; // 5 minutes
}
}
+34
View File
@@ -0,0 +1,34 @@
<?php declare(strict_types=1);
namespace LodnerSetBuilder\ScheduledTask;
use Psr\Log\LoggerInterface;
use Shopware\Core\Framework\DataAbstractionLayer\EntityRepository;
use Doctrine\DBAL\Connection;
use Shopware\Core\Framework\MessageQueue\ScheduledTask\ScheduledTaskHandler;
use Symfony\Component\Messenger\Attribute\AsMessageHandler;
#[AsMessageHandler(handles: UpdateTagsTask::class)]
class UpdateTagsHandler extends ScheduledTaskHandler {
public function __construct(
EntityRepository $scheduledTaskRepository,
private readonly LoggerInterface $logger,
) {
parent::__construct($scheduledTaskRepository, $logger);
}
public static function getHandledMessages(): iterable {
return [UpdateTagsTask::class];
}
public function run(): void
{
// TODO: Implement run() method.
$this->logger->info(UpdateTagsTask::getTaskName() . '----------> run ');
echo("Test");
}
}
+25
View File
@@ -0,0 +1,25 @@
<?php declare(strict_types=1);
namespace LodnerSetBuilder\ScheduledTask;
use Shopware\Core\Framework\MessageQueue\ScheduledTask\ScheduledTask;
class UpdateTagsTask extends ScheduledTask
{
public static function getTaskName(): string
{
return 'lodner.update_tags_task';
}
public static function getDefaultInterval(): int
{
// Interval value in seconds.
$interval = 5;
return $interval; // 30 seconds
}
public static function shouldRescheduleOnFailure(): bool
{
return true;
}
}