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. 基于windows下,node.js之npm

    1.下载node.js一路安装下去 在开始 node文件夹下,打开cmd 2.创建一个开发目录 mkdir reactQa && cd reactQa 3.初始化一个nmp的开发环境 ...

  2. day 97 VUE第一天

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  3. ccf 201809-3 元素选择器

    一.思路: 1.将结构化文档的每一行处理成一个节点(可定义一个结构体,成员包含标签tag.属性id.层级level.祖先所在行数father). 2.然后整个结构化文档就成了一个树形结构,可从任一节点 ...

  4. Engineer Assignment(暴力+状压dp)

    题意: n个工程,m个研究员,每个工程需要Ci个领域(X1,X2..Xci)的研究员 ,每个研究员会Di个不同的领域(X1,X2..Xdi),要完成一个工程必须使得分配给这个工程的研究员覆盖了这个工程 ...

  5. 设置xampp开机自动启动

    l  设置xampp开机自动启动: 1)vi /etc/init.d/xampp.sh 增加:#!/bin/sh     /opt/lampp/lampp start 2)vi /etc/rc.d/r ...

  6. 六、hibernate表与表之间的关系(多对多关系)

    多对多关系 创建实体类和对应映射文件 Student.java package com.qf.entity; import java.util.HashSet; import java.util.Se ...

  7. config maven in intellij IDEA

    Config maven in IDEA                 File ->Settings->Build,Execution.Deployment->build Too ...

  8. SVN版本管理 目录结构

    一. SVN标准目录 Subversion有一个很标准的目录结构,是这样的.比如项目是 proj,svn地址为 svn://proj/,那么标准的 svn 布局是: 这是一个标准的布局,trunk为主 ...

  9. go语言从例子开始之Example6.if/else

    if 和 else 分支结构在 Go 中当然是直接了当的了. package main import "fmt" func main() { 这里是一个基本的例子. if 7%2 ...

  10. webshell yar

    webshell D盾 http://www.d99net.net/