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

东海小程序制作【东海企业邮箱】东海网站外包、东海微信商城开发、东海网店美工、东海淘宝设计

发表日期: 2021-04-26 14:13:06 浏览次数:101

东海小程序制作【东海企业邮箱】东海网站外包、东海微信商城开发、东海网店美工、东海淘宝设计


东海县,隶属于江苏省连云港市,素有世界水晶之都、中国温泉之乡之称,是全国首批沿海开放县、新亚欧大陆桥西行第一县,淮海经济圈、长三角经济圈、新亚欧大陆桥经济走廊交叉辐射区。 [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月,被国家发展改革委列为县城新型城镇化建设示范名单。

最后,还可以使用数组MQ队列。顾明思义,组MQ队列是将MQ存放在PHP的数组里面,用于单元测试或者是一次性、临时性的计划任务调度。

可以这样创建数据库MQ队列:

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

配置完MQ队列后,还需要配置调度的方式。调度的方式有两种:本地和远程调度。

本地调度的创建如下:

// 每批次弹出10个进行处理$runner = new Task_Runner_Local($mq, 10);复制代码

需要注意的是,每次执行一个计划任务,都会重新初始化必要的DI资源服务。且此调度方式不能用于接口请求时的同步调用。

远程调度,需要先添加以下配置:

    /**
     * 计划任务配置
     */
    'Task' => array(
        // Runner设置,如果使用远程调度方式,请加此配置
        'runner' => array(
            'remote' => array(
                'host' => 'http://api.phalapi.net/shop/',
                'timeoutMS' => 3000,
            ),
        ),
    ),复制代码

其中:

表3-8 远程调度配置说明

选项

是否必须

默认值

说明

host


接口域名链接

timeoutMS

3000

接口超时时间,单位毫秒

然后可以这样创建:

// 使用默认的连接器 - HTTP + POST的方式// 每批次弹出10个进行处理$runner = new Task_Runner_Remote($mq, 10);// 或者,指定连接器$connector = new Task_Runner_Remote_Connector_Impl();$runner = new Task_Runner_Remote($mq, 10, $connector);复制代码
  • Task扩展的使用

Task扩展的使用,又分为两个环节。首先是把待执行的接口服务和相关参数加入到MQ队列,然后再通过统一调度在后台异步执行。

在上面注册了DI()->task服务后,便可通过Task_MQ::add($service, $params = array())接口添加待执行的接口服务和相关参数到MQ队列,第一个参数$service是待执行的接口服务,第二个可选参数$params是传递给待执行接口服务的参数。

例如待执行的接口服务为Task.DoSth,且需要的参数是&id=1,那么可以:

DI()->taskLite->add('Task.DoSth', array('id' => 1));复制代码

这样,就可以把相关的信息加入队列了,通过对应的存储媒介,可以查看到对应的队列信息。在产生了队列后,接下来就是要对此队列进行消费,也就是通过计划任务来进行消费、调度。

下面是第二个环节的讲解:计划任务的启动。在启动计划任务前,我们需要编写简单的脚本,一如这样:

#!/usr/bin/env php<?phprequire_once '/path/to/Public/init.php';DI()->loader->addDirs('Demo');if ($argc < 2) {
    echo "Usage: $argv[0] <service> \n\n";
    exit(1);}$service = trim($argv[1]);$mq = new Task_MQ_Redis();$runner = new Task_Runner_Local($mq);$rs = $runner->go($service);echo "\nDone:\n", json_encode($rs), "\n\n";复制代码

然后使用nohup或者crontab启动即可。注意上面的挂靠的项目,应该是待执行接口服务所在的目录。而使用的MQ队列,应该和前面配置的MQ保持一致,以便保证写入和消费的是同一个MQ。

除了上面简单的启动方式外,Task扩展还提供一种具体的、统一的启动方式,即使用crontab的方式。

首先,创建以下表,或参见./Library/Task/Data/phalapi_task_progress.sql文件自行调整表名称前缀。

CREATE TABLE `phalapi_task_progress` (
      `id` bigint(20) NOT NULL AUTO_INCREMENT,
      `title` varchar(200) DEFAULT '' COMMENT '任务标题',
      `trigger_class` varchar(50) DEFAULT '' COMMENT '触发器类名',
      `fire_params` varchar(255) DEFAULT '' COMMENT '需要传递的参数,格式自定',
      `interval_time` int(11) DEFAULT '0' COMMENT '执行间隔,单位:秒',
      `enable` tinyint(1) DEFAULT '1' COMMENT '是否启动,1启动,0禁止',
      `result` varchar(255) DEFAULT '' COMMENT '运行的结果,以json格式保存',
      `state` tinyint(1) DEFAULT '0' COMMENT '进程状态,0空闲,1运行中,-1异常退出',
      `last_fire_time` int(11) DEFAULT '0' COMMENT '上一次运行时间',
      PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;复制代码

接着,在Linux系统上添加crontab计划任务。

$ crontab -e*/1 * * * * /usr/bin/php /path/to/PhalApi/Library/Task/crontab.php >> /tmp/phalapi_task_crontab.log 2>&1复制代码

记得相应调整此crontab.php中挂靠的项目目录,以便能正常自动加载待执行的接口服务。还记得我们一致的风格吗?先挂靠,再使用。

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