背景:因为需要每天从接口处获取一次数据,所以难免会用到这让人又爱又恨的定时器/计划任务。

网上搜索了一番,大致有以下两类:

1:配合使用ignore_user_abort()和set_time_limit(),使脚本脱离浏览器运行。

1 ignore_user_abort(); // 后台运行
2 set_time_limit(0); // 取消脚本运行时间的超时上限
3 $interval=30;// 每隔30S运行,这个间隔时间是可以随着 需要进行修改
4 do{
5     //抓取数据
6     sleep($interval);
7 }while(true);           

非常的小巧精悍,即便浏览器关掉也能运行,可这是一个死循环,重启apache才能终止掉它。

改进:

1 ignore_user_abort(); // 后台运行
2 set_time_limit(0); // 取消脚本运行时间的超时上限
3 $interval=30;// 每隔30S运行,这个间隔时间是可以随着 需要进行修改
4 do{
5     $flag = include 'flag.php';
6     //抓取数据
7     sleep($interval);
8 }while($flag);     //flag.php<?php  return 1;?>

在do的时候引入flag.php文件,将其值赋予$flag,并作为判断循环的条件。

在服务器上测试过每隔一分钟执行一次,没什么问题,开心的把秒数改为一天,任务完成。

因为服务器在内网,离开环境后我不知道程序执没执行,几天后再次查看,发现只跑了一次...原因未明..

看来这办法不是很稳,看来只能祭出我的杀手锏了!

2:windows任务计划程序

打开任务计划程序->任务计划程序库->创建任务

取个名字,该勾选的勾选,来到触发器页面,新建

比如设置明天开始,每天9:00执行一次

确定,来到操作页面,新建

程序或脚本,选择要执行的bat文件,启始于(可选)填上bat文件所在的目录

这样,基本的设置就完成了!

然而...并没有...重点是bat文件

如果要定时执行某个php文件,bat文件里可以这么写

D:\php\php.exe -q D:\www\test.php

意思就是让php.exe去执行test.php这个文件。

然而...如此这般,我并不能调用框架里的CURD操作来整理我从接口获取的数据,

当然,用PDO链接数据库,再insert也可以,虽然比较麻烦。

不过,其实有更简单的方法。

也是用windows的任务计划程序,

不过不是执行php文件,而是让ie浏览器打开一个URL再关闭ie浏览器

在bat文件里这么写

@echo off
echo 正在关闭未关闭的IE进程,请稍等......
taskkill /f /im iexplore.exe
echo -------------开始运行指定的网页页面----------
::echo.&pause
start "" "C:\Program Files\Internet Explorer\iexplore.exe" http://localhost/0915/Home/balabala/open

echo IE打开完成!
::echo.&pause
ping 127.0.0.1 -n 2
taskkill /f /im iexplore.exe

完美,简单粗暴。

PS.linux下的定时器还没学,到时候再添加。

参考文章:

http://blog.csdn.net/woshixuye/article/details/18050769

http://www.cnblogs.com/lcword/p/5634284.html

http://blog.csdn.net/happy_jijiawei/article/details/50813977

http://blog.csdn.net/skygreen_2001/article/details/7974245

转载于:https://www.cnblogs.com/huijiangzzy/p/7525351.html

定时器php windows任务计划相关推荐

  1. Windows任务计划创建计划,定时执行PowerShell命令

    [环境介绍] 操作系统:Windows Server 2012 R2,64位操作系统 PowerShell版本:PowerShell 1.0 脚本位置:C:\BackUp.ps1 启动目录:C:\Wi ...

  2. 计划任务执行 php代码,php实现Windows任务计划定时执行的代码以及扩展(图)

    任务计划在我们的日常工作开发中,有很大用处.有时项目需要大批量的数据更新插入数据库中,那么我们为了能够节约资源,需要定时时间段进行自动计算,为此,我们就需要php计划任务来实现,那么我们今天就给大家介 ...

  3. 宝塔定时任务执行php源码任务_在WINDOWS任务计划程序下执行PHP文件 PHP定时功能的实现...

    最近需要做一个定时任务功能,从网站找了很多相关的代码,windows实现方法综合起来大概就两种, 一.使用PHP ignore_user_abort 函数 即使关掉浏览器也能正常运行:(个人感觉PHP ...

  4. 使用PowerShell和Windows任务计划程序备份Linux SQL Server数据库

    This article is an in-depth guide on how PowerShell can be used to maintain and manage SQL backup on ...

  5. Windows 任务计划程序

    Windows 任务计划程序 任务计划程序 Windows 前言 一.操作方法 前言 有时候需要定时执行某个程序或者脚本,可以使用Windows自带的任务计划程序,本文介绍了如何在任务计划程序库中添加 ...

  6. 使用Windows任务计划自动运行Python程序

    目录 1.编写Python程序 2.编写Windows批处理命令 3.创建Windows任务计划 3.1 在程序栏搜索:任务计划程序 3.2 点开后如下图,右键新建一个文件夹: 3.3 创建一个叫Py ...

  7. Windows 任务计划程序定时执行 powershell 脚本

    由于需要进行一些特殊操作,打算使用 powershell 来写脚本,需要Windows 任务计划程序定时执行. 怎么在Windows 任务计划程序中执行powershell脚本?? 做一个简单测试:本 ...

  8. windows 任务计划

    php任务计划执行: 创建windows 任务计划 定时执行php程序,在一般设置的情况下,当任务计划执行的时候会弹窗cmd窗口:为了不弹窗口可以在设置选项 run as 设置为NT AUTHORIT ...

  9. Windows 任务计划程序(task scheduler)介绍

    一.入口 任务计划程序在windows绝大多数版本都是系统自带,可以通过一下入口找到 1.开始--(windows)管理工具 2.服务器管理器--工具(server版) 3.我的电脑(此电脑)--点击 ...

最新文章

  1. eclipse卸载插件小记
  2. unity服务器文件传输,Unity 3D简单C#文件发送到FPT服务器示例脚本?
  3. 计算机2级模拟1答案,全国计算机2级MSOffice模拟考试1答案.doc
  4. 个人认为不错的句子(part2)--计算机是一种工具,但是如果没有绝对精确的指令,计算机也将一无是处
  5. android 自定义帧动画,Android 自定义方式实现帧动画效果
  6. python:软件目录结构规范
  7. python的datetime函数_Python连载8-datetime包函数介绍
  8. 决定你人生命运的10年,你做了什么?
  9. IIS的Windows集成身份验证总结
  10. Java编程的逻辑 (43) - 剖析TreeMap
  11. 321电商学院 与华中师大联手 - 2014-10-22
  12. 过半博士后考虑退出原领域,Nature呼吁不能因疫情失去科学的下一代
  13. python中的__init__ 、__new__、__call__等内置函数的剖析
  14. 哈理工oj 1006 River Hopscotch
  15. 一文打尽PHP代码加密方式
  16. iphone设置邮箱设置_如何使用iPhone设置Chromecast
  17. mysql数据库怎么该用户名和密码_如何修改MySql数据库的用户名和密码?
  18. 以太坊智能合约项目开发——Web3.py库安装及错误解决方案
  19. 传智播客与英特尔结成合作伙伴,共同推动软件技术进步
  20. D3D初学入门一(配置开发环境及绘制D3D窗口)

热门文章

  1. oracle varchar2转date_Oracle基础包之三 DBMS_PIPE
  2. 搭建可视化网页的software package_网页制作与网站搭建步骤教程
  3. python从入门到精通视频百度云资源_python从入门到精通视频(全60集)声音修复版...
  4. 网络营销外包——网络营销外包专员如何系统化梳理网站优化方法
  5. ruby网站部署到服务器,入门知识: 把代码部署到服务器, SSH
  6. 大数据之父_大新闻!Python 之父重新出山,加入微软开发部
  7. java面试浦发_记一次凉凉的浦发面试
  8. itunes未能连接到iphone_FonePaw iPhone Data Recovery mac版(iphone数据恢复工具)
  9. Android 10 中有关限制非 SDK 接口的更新
  10. Wireshark筛选常用命令