Remove unused $user variables, add cron container for dev
- Remove 11 unused $user assignments from requireEventOwnership calls - Add cron container to docker-compose-dev.yml with scheduled tasks: expire-pending orders (5min), messenger monitor (hourly), meilisearch consistency (daily 3am) - Cron logs show registered tasks at startup and timestamps per execution Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -151,6 +151,20 @@ services:
|
||||
retries: 10
|
||||
start_period: 120s
|
||||
|
||||
cron:
|
||||
build:
|
||||
context: ./docker/cron
|
||||
dockerfile: Dockerfile
|
||||
container_name: e_ticket_cron
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- .:/app
|
||||
depends_on:
|
||||
database:
|
||||
condition: service_healthy
|
||||
redis:
|
||||
condition: service_healthy
|
||||
|
||||
redisinsight:
|
||||
image: redis/redisinsight:latest
|
||||
container_name: e_ticket_redisinsight
|
||||
|
||||
22
docker/cron/Dockerfile
Normal file
22
docker/cron/Dockerfile
Normal file
@@ -0,0 +1,22 @@
|
||||
FROM php:8.4-fpm
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
libpq-dev \
|
||||
libzip-dev \
|
||||
libicu-dev \
|
||||
cron \
|
||||
&& rm -rf /var/lib/apt/lists/* \
|
||||
&& docker-php-ext-install pdo_pgsql intl \
|
||||
&& pecl install redis \
|
||||
&& docker-php-ext-enable redis \
|
||||
&& groupadd -g 1000 appuser && useradd -u 1000 -g appuser -m appuser
|
||||
|
||||
COPY crontab /etc/cron.d/app-crontab
|
||||
RUN chmod 0644 /etc/cron.d/app-crontab && crontab -u appuser /etc/cron.d/app-crontab
|
||||
|
||||
COPY entrypoint.sh /entrypoint.sh
|
||||
RUN chmod +x /entrypoint.sh
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
CMD ["/entrypoint.sh"]
|
||||
3
docker/cron/crontab
Normal file
3
docker/cron/crontab
Normal file
@@ -0,0 +1,3 @@
|
||||
*/5 * * * * echo "[$(date '+\%Y-\%m-\%d \%H:\%M:\%S')] START app:orders:expire-pending" >> /proc/1/fd/1 && php /app/bin/console app:orders:expire-pending --env=dev >> /proc/1/fd/1 2>&1 && echo "[$(date '+\%Y-\%m-\%d \%H:\%M:\%S')] END app:orders:expire-pending" >> /proc/1/fd/1
|
||||
0 * * * * echo "[$(date '+\%Y-\%m-\%d \%H:\%M:\%S')] START app:monitor:messenger" >> /proc/1/fd/1 && php /app/bin/console app:monitor:messenger --env=dev >> /proc/1/fd/1 2>&1 && echo "[$(date '+\%Y-\%m-\%d \%H:\%M:\%S')] END app:monitor:messenger" >> /proc/1/fd/1
|
||||
0 3 * * * echo "[$(date '+\%Y-\%m-\%d \%H:\%M:\%S')] START app:meilisearch:check-consistency" >> /proc/1/fd/1 && php /app/bin/console app:meilisearch:check-consistency --fix --env=dev >> /proc/1/fd/1 2>&1 && echo "[$(date '+\%Y-\%m-\%d \%H:\%M:\%S')] END app:meilisearch:check-consistency" >> /proc/1/fd/1
|
||||
8
docker/cron/entrypoint.sh
Normal file
8
docker/cron/entrypoint.sh
Normal file
@@ -0,0 +1,8 @@
|
||||
#!/bin/sh
|
||||
echo "=== E-Ticket Cron ==="
|
||||
echo "Registered tasks:"
|
||||
echo " - */5 * * * * app:orders:expire-pending"
|
||||
echo " - 0 * * * * app:monitor:messenger"
|
||||
echo " - 0 3 * * * app:meilisearch:check-consistency --fix"
|
||||
echo "===================="
|
||||
exec cron -f
|
||||
@@ -470,7 +470,7 @@ class AccountController extends AbstractController
|
||||
return $redirect;
|
||||
}
|
||||
|
||||
$user = $this->requireEventOwnership($event);
|
||||
$this->requireEventOwnership($event);
|
||||
|
||||
$name = trim($request->request->getString('name'));
|
||||
if ('' === $name) {
|
||||
@@ -518,7 +518,7 @@ class AccountController extends AbstractController
|
||||
return $redirect;
|
||||
}
|
||||
|
||||
$user = $this->requireEventOwnership($event);
|
||||
$this->requireEventOwnership($event);
|
||||
$category = $this->requireCategory($categoryId, $event, $em);
|
||||
|
||||
if ($request->isMethod('POST')) {
|
||||
@@ -569,7 +569,7 @@ class AccountController extends AbstractController
|
||||
return $redirect;
|
||||
}
|
||||
|
||||
$user = $this->requireEventOwnership($event);
|
||||
$this->requireEventOwnership($event);
|
||||
|
||||
$category = $em->getRepository(Category::class)->find($categoryId);
|
||||
if ($category && $category->getEvent()->getId() === $event->getId()) {
|
||||
@@ -592,7 +592,7 @@ class AccountController extends AbstractController
|
||||
return $redirect;
|
||||
}
|
||||
|
||||
$user = $this->requireEventOwnership($event);
|
||||
$this->requireEventOwnership($event);
|
||||
|
||||
$order = json_decode($request->getContent(), true);
|
||||
if (\is_array($order)) {
|
||||
@@ -726,7 +726,7 @@ class AccountController extends AbstractController
|
||||
return $redirect;
|
||||
}
|
||||
|
||||
$user = $this->requireEventOwnership($event);
|
||||
$this->requireEventOwnership($event);
|
||||
|
||||
$order = json_decode($request->getContent(), true);
|
||||
if (\is_array($order)) {
|
||||
@@ -750,7 +750,7 @@ class AccountController extends AbstractController
|
||||
return $redirect;
|
||||
}
|
||||
|
||||
$user = $this->requireEventOwnership($event);
|
||||
$this->requireEventOwnership($event);
|
||||
|
||||
$firstName = trim($request->request->getString('first_name'));
|
||||
$lastName = trim($request->request->getString('last_name'));
|
||||
@@ -828,7 +828,7 @@ class AccountController extends AbstractController
|
||||
return $redirect;
|
||||
}
|
||||
|
||||
$user = $this->requireEventOwnership($event);
|
||||
$this->requireEventOwnership($event);
|
||||
|
||||
$order = $em->getRepository(BilletBuyer::class)->find($orderId);
|
||||
if (!$order || $order->getEvent()->getId() !== $event->getId()) {
|
||||
@@ -850,7 +850,7 @@ class AccountController extends AbstractController
|
||||
return $redirect;
|
||||
}
|
||||
|
||||
$user = $this->requireEventOwnership($event);
|
||||
$this->requireEventOwnership($event);
|
||||
|
||||
$order = $em->getRepository(BilletBuyer::class)->find($orderId);
|
||||
if (!$order || $order->getEvent()->getId() !== $event->getId()) {
|
||||
@@ -959,7 +959,7 @@ class AccountController extends AbstractController
|
||||
return $redirect;
|
||||
}
|
||||
|
||||
$user = $this->requireEventOwnership($event);
|
||||
$this->requireEventOwnership($event);
|
||||
|
||||
$design = $em->getRepository(BilletDesign::class)->findOneBy(['event' => $event]);
|
||||
if (!$design) {
|
||||
@@ -1012,7 +1012,7 @@ class AccountController extends AbstractController
|
||||
return $redirect;
|
||||
}
|
||||
|
||||
$user = $this->requireEventOwnership($event);
|
||||
$this->requireEventOwnership($event);
|
||||
|
||||
$event->setIsSecret(!$event->isSecret());
|
||||
$em->flush();
|
||||
@@ -1032,7 +1032,7 @@ class AccountController extends AbstractController
|
||||
return $redirect;
|
||||
}
|
||||
|
||||
$user = $this->requireEventOwnership($event);
|
||||
$this->requireEventOwnership($event);
|
||||
|
||||
$eventTitle = $event->getTitle();
|
||||
$eventDbId = $event->getId();
|
||||
|
||||
Reference in New Issue
Block a user