laravel 在docker环境中,如何执行定时任务

运行环境#

docker

当前使用的 Laravel 版本?#

laravel8.0

目前 dockerfile#

FROM webdevops/php-nginx:7.4-alpine
ARG timezone
ENV TIMEZONE=${timezone:-"Asia/Shanghai"} \
    APP_ENV=local
COPY .  /app
COPY ./deploy/nginx.conf  /opt/docker/etc/nginx/vhost.conf
WORKDIR /app

RUN  composer install --ignore-platform-reqs
RUN  rm -rf ./public/storage
RUN  php artisan storage:link
RUN  chmod 777 -R storage

3. 您期望得到的结果?#

1. 如何执行 laravel 的定时任务和队列
2. 多台机器的时候如何防止同时执行

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
讨论数量: 4

独立部署出两个容器出来: A(队列容器):基于你 PHP 镜像构建,安装一个 supervisor,用 supervisor 守护队列任务。
B(定时任务容器):建议使用 github.com/mcuadros/ofelia 定时器,它可以很友好的直接和 PHP 容器交互

2年前 评论

看完这个项目,不是很理解具体的用法… 能不能举一个例子 谢谢

2年前 评论

新开独立的容器 project_cron 里面只用装 php-cli
RUN echo “* * * * * root php /www/wwwroot/project/artisan schedule:run >> /dev/null 2>&1” >>/etc/cron.d/pc
&& /etc/init.d/cron start

ENTRYPOINT [“tail”,”-f”,”/dev/null”]

2年前 评论