笔名如风PHPer自述!第四十五章:实名制项目,这里便简称作DVSP罢
管理员 发布于 4年前   345
实名制项目,这里便简称作DVSP罢。
运行DVSP的服务器中的PHP版本是5.2,而我用惯了PHP5.4以上版本的语法写代码,刚开始修改时,总会出现语法的错误,这就是版本差异而带来的问题。
这台服务器之所以不升级相关的软件,是因为其中不只DVSP一个项目,贸然改变很有可能造成最让人头疼的连锁反应。据我所知,至少7年未升级过,好在NetBeans帮我拜托了版本差异的烦恼,编程时我将NetBeans中的DVSP项目修改基于PHP5.2,它便会自动为我提示一些不兼容的写法或不存在的系统函数等等,很方便。
DVSP升级修改过程中一直在增加新的定时任务,为了不麻烦鑫哥每次上服务器添加cron,我从github上下载了 scheduledTask-workerman,用来管理和运行DVSP中众多的定时任务。
它是基于workerman和yaf开发的计划任务系统,单进程。单进程就意味不适合长时间的任务,而恰好DVSP中耗时长的任务不在少数。工期赶的原因,我利用自己的闲暇时间,将其改造了下,使其能够支持多进程任务,还有些适应DVSP运行周期的修改。
运行良好,其实是我个人的判断——因为改造后的 scheduledTask-workerman 满足了我的需求,优化它那是后话了。
提到多进程,就要考虑到并发的问题,源于服务环境的限制,以及大多数的任务运行间隔不算太短,DVSP的任务并发控制,我使用文件锁实现。其实最理想的期望,是能够用上 redis 去实现锁,坦白来说,我是有私心的——那个最理想的期望便是一边处理问题,一边实践 redis,可惜此时并无机会。我即使有过那么一瞬的失落,却也马上被紧凑的开发任务而冲散了。
以上,就是近一个月来的开发历程,虽然无加班,但高强度的作业,也会让人由内而外的感到疲惫,大脑仿佛被开了无形的洞,它们在开发完工的时刻迸发出来。我忍不住睡上整整一天,而我亦意识到,我的精力已经大不如从前,如果将行至更远的地方,则需要花上更多的时间来完善自己,以免被早早地拍死在沙滩上。
请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!
该博客于2020-12-7日,后端基于go语言的beego框架开发
前端页面使用Bootstrap可视化布局系统自动生成
是我仿的原来我的TP5框架写的博客,比较粗糙,底下是入口
侯体宗的博客
文章标签
友情链接