当前位置: 网站首页>小程序开发>网站开发

东海企业微信公众号小程序开发公司、东海企业网页设计方案、东海做网站开发价格、东海微信公众号制作运营报价明细表、东海网站设计公司费用、东海网站推广大概需要多少钱

发表日期: 2021-04-26 14:14:11 浏览次数:118

东海企业微信公众号小程序开发公司、东海企业网页设计方案、东海做网站开发价格、东海微信公众号制作运营报价明细表、东海网站设计公司费用、东海网站推广大概需要多少钱

东海县,隶属于江苏省连云港市,素有世界水晶之都、中国温泉之乡之称,是全国首批沿海开放县、新亚欧大陆桥西行第一县,淮海经济圈、长三角经济圈、新亚欧大陆桥经济走廊交叉辐射区。 [1] 

东海县位于江苏省东北部,地处江苏、山东两省交界处,东濒黄海,西接彭城,南依江淮,北界齐鲁;北至西北与山东省临沭县、郯城县相连,东与连云港海州区、赣榆区接壤,南与沭阳县交界,西与新沂市相依;全县总面积2037平方公里,人口124万,辖19个乡镇(场)、2个街道、1个省级经济开发区、1个省级高新区和1个省级旅游度假区。 [2] 

东海县资源丰富、特色鲜明,拥有“石、泉、湖、井、画”等五张特色名片,先后被评为全国粮食生产先进县、全国科技进步考核先进县、国家卫生县城、国家级生态县、全国文化先进县、中国观赏石(水晶)之乡、江苏省级园林城市、百湖之县、中国民间艺术之乡等美誉,先后培养出南朝诗人鲍照、现代散文家朱自清、当代版画家彦涵等历史文化名人。 [3] 

2016年11月,东海被国家旅游局评为第二批国家全域旅游示范区。2018年10月,东海县入选“综合实力百强县”、 [4]  全国投资潜力百强县市、 [5]  全国绿色发展百强县市、全国新型城镇化质量百强县市。2019年3月,被列为第一批革命文物保护利用片区分县名单。2019年7月,被列为国家知识产权强县工程示范县(区)。 [6]  2019年10月8日,被评为2019年度全国综合实力百强县市。2020中国夏季休闲百佳县市。 [7]  2020年5月,被国家发展改革委列为县城新型城镇化建设示范名单。

最后,在数据库配置计划任务。


INSERT INTO `phalapi_task_progress`(title, trigger_class, fire_params, interval_time)  VALUES('你的任务名字', 'Task_Progress_Trigger_Common', 'Task_Demo.DoSth&Task_MQ_File&Task_Runner_Local', '300');复制代码

注意,在配置时,需要指明MQ和Runner的类型。各个字段的说明,可参考上面的表字段的说明。


这些都配置好后,当再Task.DoSth加入到MQ队列时,后台将会定时执行对应的接口服务。即下面这样的代码。


<?php

class Api_Task extends PhalApi_Api {


      public function doSth() {

            // ...

      }

}复制代码

延伸:计划任务的核心设计解读

在Task这个计划任务中,为了让领域业务更清晰明了,我们采用了设计模式进行了巧妙的设计。下面将介绍这一设计过程。主要是以桥接模式为主模式,慢慢融入适配器模式、模板方法,同时辅以单元测试和小步重构。


桥接模式 - 数据与行为独立变化

为了给计划任务一个执行的环境,我们提供了计划任务调度器,即:Task_Runner。每个计划任务需要调度的接口是不一样的,即不同的接口服务决定不同的行为;每个行为需要的数据也不一样,即不同的接口参数决定不同的数据。


自然而言的,Task_Runner按照桥接模式,其充当的角色如下:


图3-14 Task_Runner充当的角色


图3-14 Task_Runner充当的角色


然后,我们可以分另各自实现接口服务和MQ队列,而让这两者互不影响。


图3-15 桥接模式在Task扩展中的应用 


图3-15 桥接模式在Task扩展中的应用


适配器模式 - 对象适配器和类适配器

在对MQ进行实现时,我们提供的Redis MQ队列、文件MQ队列和数据库MQ队列等,都使用了适配器模式,以重用框架已有的功能。其中,Redis MQ队列和文件MQ队列是属于对象适配器,数据库MQ队列是类适配器。对于对象适配器,我们也提供了外部注入,以便客户端在使用时可以轻松定制扩展,当然也可以使用默认的缓存。


至此,整体的UML静态类结构如下所示。


图3-16 添加适配器后的静态结构


图3-16 添加适配器后的静态结构


这样以后,我们可以这样根据创建不同的MQ队列,创建MQ的形式多种多样。


// Redis MQ队列

$mq = Task_MQ_Redis();

// 或

$mq = Task_MQ_Redis(new PhalApi_Cache_Redis(array('host' => '127.0.0.1', 'port' => 6379)));


// 文件MQ队列

$mq = new Task_MQ_File();

// 或

$mq = new Task_MQ_File(new PhalApi_Cache_File(array('path' => '/tmp/cache')));


// 数据库MQ队列

$mq = new Task_MQ_DB();


// 数组MQ队列

$mq = new Task_MQ_Array();复制代码

模板方法 - 本地和远程两种调度策略

在完成底层的实现后,我们可以再来关注如何调度的问题,目前可以有本地调度和远程调度两种方式。


本地调度 是指本地模拟接口的请求,以实现接口的调度。

远程调度 是指通过计划任务充当接口客户端,通过请求远程服务器的接口以完成接口的调度。

为此,我们的设计演进成了这样:


图3-17 细化调度方式后的静态结构


图3-17 细化调度方式后的静态结构


上图多了两个调度器的实现类,并且远程调度器会将远程的接口请求功能委托给连接器来完成。


设计审视

好了!让我们再回头审视这样的设计,是否是属于良好的设计,是否是恰如其分的设计。


首先,我们在高层,也就是规约层得到了很好的约定。不必过多地深入理解计划任务内部的实现细节,也可以轻松得到以下这样的概念流程: 计划任务调度器(Task_Runner)从MQ队列(Task_MQ)中不断取出计划任务接口服务(PhalApi_Api)进行消费。所以在概念是它是清晰的,很好地体现了计划任务这一领域的核心业务流程。


再往下一层,则是具体的实现,即我们所说的实现层。客户可以根据自己的需要进行选取使用,也可以扩展他们需要的MQ队列。重要的是,他们需要自己实现计划任务的接口服务。


根据爱因斯坦说的,要保持简单,但不要过于简单。为了更好地理解计划任务的运行过程,我们提供了简单的时序图。

c51c866ffa1ab3457f2021e8bbdbcc1.jpg


东海企业微信公众号小程序开发公司东海企业网页设计方案东海做网站开发价格、东海微信公众号制作运营报价明细表、东海网站设计公司费用、东海网站推广大概需要多少钱


400-111-6878
服务热线
顶部

备案号: 苏ICP备11067224号

CopyRight © 2011 书生商友信息科技 All Right Reserved

24小时服务热线:400-111-6878   E-MAIL:1120768800@qq.com   QQ:1120768800

  网址: https://www.768800.com  网站建设上往建站

关键词: 网站建设| 域名邮箱| 服务器空间| 网站推广| 上往建站| 网站制作| 网站设计| 域名注册| 网络营销| 网站维护|

企业邮箱| 虚拟主机| 网络建站| 网站服务| 网页设计| 网店美工设计| 网站定制| 企业建站| 网站设计制作| 网页制作公司|

400电话办理| 书生商友软件| 葬花网| 调温纤维| 海洋馆运营维护| 北京保安公司| 殡仪馆服务| 殡葬服务| 苏州殡葬一条龙| 朝阳殡葬| 苏州殡葬服务|

预约专家

欢迎您免费咨询,请填写以下信息,我们收到后会尽快与您联系

  

服务热线:400-111-6878