PHP自动任务(单线程)

一、计划任务实现 :最终需要在服务器(windows)上 设置计划任务

1、写好php任务文件 auto.php:链接数据库 判断条件操作数据库

2、创建bat文件 例:run.bat

文件中写入     "D:\phpStudy\WWW\kawadai\nodejs\php\php.exe"  -f  "D:\phpStudy\WWW\kawadai\auto.php"

前者是php.exe 路径 后者是php任务文件路径

3、创建计划任务

  1. 首先我们打开开始菜单,然后在搜索框中输入计划任务这几个字

  2.  回车确定之后,就会弹出计划任务的设置面板,
     
  3.  我们点击创建基本任务选项,,
     
  4.  然后输入任务名和描述,并点击下一步按钮,
     
  5.  选择任务提醒频率为每天,然后点击下一步
  6. 然后设置时间,如图:
 计划任务可再次修改编辑,可自行设置

二、node.js实现

1、 安装node.js 及相关配置环境

下载地址 : http://nodejs.cn/

npm安装Node.js时会一起安装,npm的作用就是对Node.js依赖的包进行管理,也可以理解为用来安装/卸载Node.js需要装的东西

利用npm.cmd安装 所需模块 例: mqsql node-schedule jquery express

将安装好的环境包以及模块 一起复制 入php 项目根目录中

2、写好php任务文件 auto.php:链接数据库 判断条件操作数据库,该文件可放入 上述nodejs 文件夹

3、创建js文件 auto.js :该文件也可放于上述nodejs文件夹

node.js创建定时任务  执行cmd命令  cmd其实是执行php文件    :  php.exe路径  php文件路径

定时时间设置

1. 确定的时间执行

比如: 2016年7月13日15:50:00 , new Date() 的时候月份要减1.
  1. var date = new Date(2016,6,13,15,50,0);
  2. schedule.scheduleJob(date, function(){
  3. httpGet();
  4. });

运行结果:

2. 秒为单位执行

比如:每5秒执行一次
  1. var rule1     = new schedule.RecurrenceRule();
  2. var times1    = [1,6,11,16,21,26,31,36,41,46,51,56];
  3. rule1.second  = times1;
  4. schedule.scheduleJob(rule1, function(){
  5. httpGet();
  6. });

运行结果:

3.以分为单位执行

比如:每5分种执行一次
  1. var rule2     = new schedule.RecurrenceRule();
  2. var times2    = [1,6,11,16,21,26,31,36,41,46,51,56];
  3. rule2.minute  = times2;
  4. schedule.scheduleJob(rule2, function(){
  5. httpGet();
  6. });

运行结果:

有500请忽略,不小心把数据库关掉了.

4.以小时为单位执行

比如:每4小时执行一次
  1. var rule3     = new schedule.RecurrenceRule();
  2. var times3    = [1,5,9,13,17,21];
  3. rule3.hour  = times3;
  4. schedule.scheduleJob(rule3, function(){
  5. httpGet();
  6. });

以小时的就不贴运行结果了.时间太久

5.Cron风格

  1. schedule.scheduleJob('5 * * * * *', function(){
  2. httpGet();
  3. });
这个代码的意思就是每分钟的5秒这个点执行

图中注释定时器部分 是每秒执行 未注释部分是 每五秒执行

4、创建bat文件 同样放于nodejs文件夹  内容:

手动点击即可执行 auto.js 进而定时执行 auto.php文件 完成自动定时任务

PHP定时任务实现(计划任务 vs node.js)的更多相关文章

  1. Node.js 蚕食计划(三)—— Express 启航

    如果看过上一篇<Node.js 蚕食计划>,就会发现手动搭建一个 web 服务器还是比较繁琐 而 express 就是一个可以极大地提高开发效率的 web 开发框架 一.创建项目 在 ex ...

  2. 【重学Node.js 第4篇】实现一个简易爬虫&启动定时任务

    实现一个简易爬虫&启动定时任务 课程介绍看这里:https://www.cnblogs.com/zhangran/p/11963616.html 项目github地址:https://gith ...

  3. Node.js 蚕食计划(五)—— Koa 基础项目搭建

    Koa 是由 Express 原班人马打造的超轻量服务端框架 与 Express 相比,除了自由度更高,可以自行引入中间件之外,更重要的是使用了 ES6 + async,从而避免了回调地狱 不过也是因 ...

  4. Node.js 蚕食计划(二)—— 使用 http 模块搭建 Web 服务器

    Node.js 开发的目的就是为了用 JavaScript 编写 Web 服务器程序 这次就来介绍用 http 模块搭建服务器 一.项目构建 每个 Node 程序都可以看作一个模块,而每个模块都应该有 ...

  5. Node.js 蚕食计划(一)—— 模块化编程

    众所周知,Node.js 的出现造就了全栈工程师,因为它让 JavaScript 的舞台从浏览器扩大到了服务端 而 Node.js 的强大也得益于它庞大的模块库,所以学习 Node.js 第一步还得从 ...

  6. Node.JS 学习路线图

    转载自:http://www.admin10000.com/document/4624.html 从零开始nodejs系列文章, 将介绍如何利Javascript做为服务端脚本,通过Nodejs框架w ...

  7. Node.js 自学之旅

    学习基础,JQuery 原生JS有一定基础,有自己一定技术认知(ps:原型链依然迷糊中.闭包6不起来!哎!) 当然最好有语言基础,C#,java,PHP等等.. 最初学习这个东西的原因很简单,在园子里 ...

  8. Node.js入门:Node.js&NPM的安装与配置

    Node.js安装与配置      Node.js已经诞生两年有余,由于一直处于快速开发中,过去的一些安装配置介绍多数针对0.4.x版本而言的,并非适合最新的0.6.x的版本情况了,对此,我们将在0. ...

  9. node.js学习之路

    (非原创) 目录 Nodejs的介绍 15个Nodejs应用场景 Nodejs学习路线图 1. Nodejs的介绍 Node.js的是建立在Chrome的JavaScript的运行时,可方便地构建快速 ...

随机推荐

  1. UI:UI 目录

    ylbtech-UI:UI 目录 1.返回顶部   2.返回顶部   3.返回顶部   4.返回顶部   5.返回顶部     6.返回顶部   作者:ylbtech出处:http://ylbtech ...

  2. 关于Java中编码集的有趣现象和解释

    这是在整理另一篇博客的时候发现的一个有趣的现象,是这样描述的:我们都知道Java默认使用的是UniCode编码集,我们也知道char类型占用两个字节.所以奇怪的现象又发生了(见代码): @Test p ...

  3. 0.OpenCV框架

    reference: https://docs.opencv.org/4.1.2/ 基本使用 1.图片和视频,读写(2,8) 2.OpenCV基本数据类型(3) 3.OpenCV大型数据类型及操作:图 ...

  4. 4.jmeter在线并发的怎样设置

    4.1Jmeter 快速入门教程(一) - 认识jmeter和google插件 4.2Jmeter 快速入门教程(二)--创建简单web测试 打印 E-mail 4.3Jmeter 快速入门教程(三- ...

  5. sourcetree配置gitlab

    一.准备 1.安装git,下载地址:https://git-scm.com/download 安装教程百度一下      git客户端(1.产生gitlab服务端和本地git相互传输时所需要校验的私钥 ...

  6. pycharm内对python文件的模板

    #!/usr/bin/env python# -*- coding: utf-8 -*-# @Time : ${DATE} ${TIME}# @Author : Aries# @Site : ${SI ...

  7. 使用腾讯地图请求来源未被授权, 此次请求来源域名/ip:servicewechat.com

    原文:微信小程序使用腾讯地图请求来源未被授权, 此次请求来源域名:servicewechat.com 版权声明:本文为博主原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接和本声明 ...

  8. xampp环境下,配置Zend Studio调试php(XDebug) 转摘:http://www.cnblogs.com/tuyithief/archive/2011/06/02/2068431.html

    先说一下文件版本,xampp 1.7.4,php 5.3.5. 走了很多弯路,截止目前,ZendDebugger在php 5.3.x下,只有nts版本,既non Thread Safety(具体什么意 ...

  9. JS异步事件顺序:setTimeout,async,promise

    为什么最近更新那么频繁,还不是因为笔试的时候瞎了? 先说异步事件执行顺序的规则: 1. 定时器异步队列和promise队列不是同一队列,promise优先级高于setTimeout; 2. 创建pro ...

  10. MYSQL中判断函数有哪些

    新建一张客户表,如下:sex:1-男,2-女,3-未知:level是客户的级别:1-超级VIP客户,2-VIP客户,3-普通客户 方式一:case函数:流程控制函数 用法一: CASE express ...