队列怎么实现定时任务,类似于每天0点定时清除某个数据库

有一个缓存表,如果不清除的话,时间长了表会非常大.人为介入终究不是个办法.看laravel的文档上面说是使用队列.但是我不清楚怎么让他定时执行,并且在apache重启后也能自动启动.

先谢各位大神了.
已邀请:

mark

赞同来自: FiveSay zhuzhichao

我是这样解决的,使用 Cron 定时任务每天执行一个 artisan 命令
这个 artisan 命令你自己写一下执行某个数据就可以了

ssoor

赞同来自: FiveSay

最后使用的mysql自带的计划任务做的.如果有同样需求的可以查查.

00幽靈00 - 略知一二,不求甚解

赞同来自: FiveSay

还有个办法就是,在laravel中定义一个url,就是执行cron的时候需要的操作,访问这个url就执行一遍需要的cron,就和普通的url一样,然后再linux中的crontab里面增加一条记录,定时wget这个url

糖古屋

赞同来自: FiveSay

我用windows的【任务计划程序】配合laravel的队列功能做了一个短信发送的功能。

吉艾斯

赞同来自:

Laravel怎么定时执行我不太会弄,你看可不可以这样,
每天这张表插入第一条数据的时候进行判断,如果是一天的第一条那么先把表清空再进行插入。
可否?

雨师

赞同来自:

你想实现的应该和laravel的队列没有关系吧,我看了laravel里面的队列貌似只是对当前的一次访问中要执行的各个任务进行排序的队列,例如从数据库访问时会得到一个builder不断的让你在队列中增加各种条件或者排序要求,最后执行得出结果。

可燃冰

赞同来自:

不知道你的业务逻辑
如果只是涉及数据库操作的话,别的数据库我也不太清楚(我也是个新手的说)mysql 有定时任务
event应该就够用了吧==

ssoor

赞同来自:

解决方法:
通过 artisan 控制台来完成这个功能 http://www.golaravel.com/laravel/docs/5.0/artisan/
这里面可以做计划任务.

要回复问题请先登录注册