使用bash代替crontab?
#php #帮助 #docker

当我问apon laracasts forum时,我试图遏制laravel cron调度程序:

这是我的Dockerfile

FROM php:8.1-alpine

# Install nessesary php module here

COPY . /var/www/html

RUN echo "Installing composer \n" &&\
    php -r "copy('https://getcomposer.org/installer', '/tmp/composer-setup.php');" &&\
    php /tmp/composer-setup.php --install-dir=/bin --filename=composer &&\
    rm -rf /tmp/cpmposer-setup.php &&\
    chmod +x /bin/composer &&\
   cd /var/www/html &&\
   composer install &&\
   rm -rf composer

COPY ./entrypoint/entrypoint_cron.sh /usr/local/bin/entrypoint.sh

RUN echo "Fixing Permissions on Entrypoint Script \n" &&\
    chown root:root /usr/local/bin/entrypoint.sh &&\
    chmod +x /usr/local/bin/entrypoint.sh &&\
    usermod --shell /bin/bash www-data

ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]
CMD ["php","artisan","schedule:run"]

这是入口点脚本/usr/local/bin/entrypoint.sh

#!/bin/sh
while true
do
    "$@"
    sleep 60
done

,但我不知道我的方法是否会有蚂蚁并发症,并且从长远来看是否会使我使用crontab更多的麻烦。

这背后的想法是因为我只需要一个命令即可每分钟运行,似乎是一个浪费即可安装和运行crontab(除非预安装)在我的容器中。

您知道我的火车是否有意义,并且不会从长远来看会给我带来麻烦吗?