fairycat

Created:
Updated:

用 systemd 管理 laravel 队列和定时任务

之前在使用 laravel 的队列时,使用管理员启动的服务来管理进程。这本来是没有问题,但是我在服务器上架设网站的时候,是不使用管理员帐号进行网站的管理的。若非特殊情况都是使用普通帐号对网站进行管理和更新。如果以管理员运行服务进行 laravel 的任务管理,问题是网站进行更新之后需要重启任务,这普通用户就没办法重启管理员的服务。

于是就用普通用户自己启动一个 supervisrod 之类的服务。有一段时间给一个网站单独启用了一个 supervisrod 服务,后来想想干脆使用 systemd 进行管理。

Created:
Updated:
Fairycat

Laravel服务拓展方法,无需提前解析服务

Laravel中的各种可以拓展的服务、驱动,例如Filesystem、Notification等。需要拓展的服务,在自定义的服务提供者的boot方法中,extend添加拓展就可以。

对一个服务直接添加拓展,该服务还没使用到的时候就已经被解析了。要对一个延迟解析的服务添加拓展,这么做是不是有些欠妥。

那么为了达到延迟解析的效果,就是把需要的拓展,传给application,而不是直接给服务添加拓展。这样,在使用到该服务的时候,application在解析该服务的时候,会把拓展添加上去的。