一个任务代办的定时提醒应该需要掌握哪些知识点?

待办
需求如下:
1. 假设创建待办的时间是 10 点,我设置到 12 点提醒我,到 12 点的时候,前端会调用 notification 提醒我(前端部分不讨论)

我学习到的知识点:
1.WebSocket,SSE
2.laravel 广播系统、事件系统、消息通知、队列、任务调度
3.laravel-websockets,laravel Echo

疑惑点:现在有点晕,不知道该怎么下手去做这个任务,是不是这样的流程:
1、前端传入数据,后端保存,如果发现提醒这个字段有值,那么创建一个事件(还是任务?),我百度了 job 和 event,event 是说当… 就…,所以当这个字段有值的时候,就创建一个事件。
2. 接着这个事件就延迟 2 小时执行广播系统(laravel-websockets,laravel Echo)推送给前端。
3. 如果我一天创建 10 个提醒,就把事件放到队列是吗?如果是这样,假设我第一个创建 2 小时提醒我,第二个创建 1 小时提醒我,那应该第二个先出队列
4. 现在就是这个逻辑没搞清楚,有点晕。

请高人指点,感谢,如果有代码示例,那最好了

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 13
bigliang_iOS

可以监听 redis 键过期来提醒。

1年前 评论
facetoface (楼主) 1年前

使用队列的延迟任务。

1年前 评论
facetoface (楼主) 1年前

想复杂了 就是 crontab

1年前 评论
facetoface (楼主) 1年前
php_yt (作者) 1年前

后端保存到数据库,任务调度里每分钟执行一次,当前时间段有任务的话启动 worker 推送并标记

1年前 评论
facetoface (楼主) 1年前

搞复杂了,延迟队列就解决了

1年前 评论
facetoface (楼主) 1年前

刚好我也有类似的需求和写过. 博客:用户自定义定时任务的 php 实现

1年前 评论
facetoface (楼主) 1年前