可移步至社区文档,这里不做说明。
通常我们在项目中定义了一个或多个定时任务,都是在服务器上通过 crontab 结合 artisan命令来统一管理 * * * * * cd /path-to-your-project && php artisan schedule:run >> /dev/null 2>&1
但是在Windows环境并不支持这样的方式,见过许多解决方案都是通过设置Windows下的定时任务(创建.bat文件)来实现,个人认为比较繁琐不方便,就用go写一个小工具来替代这样的实现方式。算是可以比较好的解决自己在Windows环境开发下对定时任务的一个调试管理。
go-crontab 基于 golang 的 crontab 定时任务管理器
# 参数说明
{
# 支持定义多个定时任务,直接在 crontab_cmd 追加对象即可
"app": {
"model": "s", # 默认 s 秒级 如需使用分钟级改为 m
"crontab_cmd": [
{
"crontab": "0/1 * * * * ?", #crontab 表达式
"cmd": "go version" # 要执行的命令
}
]
}
}
# windows 实现 laravel 的任务调度 schedule:run (只支持分钟级别,不能定义秒级的!!!)
# app.model可以定义为s 但是对应的crontab表达式必须为每分钟运行!可参考 Java(Quartz) 表达式书写
# 或直接定义app.model 为 m ,则crontab表达式为 "* * * * *"
{
"app": {
"model": "s",
"crontab_cmd": [
{
"crontab": "0 0/1 * * * ?",
"cmd": "go version"
},
{
"crontab": "0 0/1 * * * ?",
"cmd": "cd /e/www/project/dexter/laravel-test-demo && php artisan schedule:run"
}
]
}
}
go build
-- END
写的不错,赞助一下主机费
暂无评论~~