服务器在,需要大数据运算,数据归整,数据结算时,一般会用到任务。PHP由于是单线程语言,以往的任务执行都是依靠外部实现。
![6f29c57f2804076db6339662b59088cd.png](https://img-blog.csdnimg.cn/img_convert/6f29c57f2804076db6339662b59088cd.png)
最常见的任务有两种,一种是Linux Crontab 定时任务,普遍用于linux服务器中。一种是Windows定时任务。常用于Windows。还有就是宝塔等平台的使用python去实现定时任务。
下面让我们逐一介绍一下:
1、Linux Crontab 定时任务,基于Linux内置的cron进程实现,cron搭配shell脚本,复杂的指令也没有问题。使用 Linux Crontab 定时任务,你需要学会使用crontab的命令,然后需要找到你的程序入口或者去编写shell脚本。(注意这里其实是可以传递参数的,但是这个传参数不太友好。)
2、Windows定时任务,任务基于Windows定时任务。定时任务需要指向shell脚本/应用程序。使用的时候会有延迟,并且由于Windows服务器稳定性问题shell脚本有时会无法正常执行。安全性也不高。毕竟Windows服务器本身安全级别不高,也比较容易中毒。
3、宝塔等三方平台。他们是使用自己的程序封装的任务模块。使用起来很方便。但是有时候会出现比较奇怪的问题。比如安装之后,无法使用。有些服务器系统不兼容等等。(本宝就遇到过。)
方法缺点:
1、并且使用复杂度高。
2、稳定性差。
3、无法跨平台。
随着Swoole的出现,PHP有了协程。然后PHP大佬们开发出了协程框架。
PHP协程框架程序普遍都注册在内存中。Task任务都注册在系统服务中。这样就使得我们可以像编写自己的代码一样去注册不同的任务。并且可以方便的监控到任务执行结果,任务执行状态。不管是从实现复杂度和稳定性上都有很大提升。随着swoole的发展,协程框架必将实现跨平台使用。让所有的PHPer收益。(让我们能更专注于PHP代码。减少学习命令,脚本的时间。)
PHP协程框架的优点:
1、复杂度低。
2、程序执行,便于监控
3、依靠程序稳定性良好
真的很感谢协程框架的出现,协程不仅仅给PHP带来性能的提升,也给我们PHP开发者带来新的动力。让我们变得更开心。PHP是最好的语言。(欢迎PHP关注小鸟的。和小鸟一起成长。)