我比较熟悉crontab也常用crontab,定时任务就想当于可以设置每天这个时间执行数据库里没有执行的任务,我感觉就是像是消息队列一样,有任务生产者和任务执行者。我想知道区别是什么?
我比较熟悉crontab也常用crontab,定时任务就想当于可以设置每天这个时间执行数据库里没有执行的任务,我感觉就是像是消息队列一样,有任务生产者和任务执行者。我想知道区别是什么?
crontab 和 消息队列 不是一个东西。消息队列,这里面最重要的就是消息,也就是一个消息排队的中间件,作用一般是应用间的解耦,削峰填谷等,你对crontab 比较熟悉应该是知道 crontab 不是处理消息的,只是根据时间表示式去执行任务而已。
15 回答8.4k 阅读
7 回答5.3k 阅读
8 回答6.2k 阅读
4 回答4k 阅读
2 回答5.9k 阅读✓ 已解决
1 回答4k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
哥们,这是完全没可比性的两个东西呀——尽管你在实践上会把他们用在类似的场景。
消息队列,好比一根塑料管,一头往里放鸡蛋,另一头有人拿走(先别追究先进先出、先进后出、优先级这些,纯粹为举例简单);
计划任务(Crontab 或 Java 的 Timer,ScheduledExecutorService 等),它只是个铃铛,到点响一下叫你起床工作,但为了应用到 P-C 模式里,你可以在这个铃铛边上放个篮子(数据库、日志、队列都行),任何一只母鸡(Producer)吃饱了都把蛋下到里面,铃铛响了你(Consumer)就去检查篮子里有蛋没。