PHP定时任务脚本模板带日志记录

2023-11-18

<?php

//引入配置文件
require_once(dirname(__FILE__).'\config.php');
/**
 *  检查传参
 */
$loop = isset($argv[4]) ? $argv[4] : 0;
define('APPLICATION_PATH_FILE', dirname(dirname(__FILE__)));
$logFile = APPLICATION_PATH_FILE . '/data/log/myCron';
 if (file_exists($logFile)) {
    //如果任务日志文件存在时间超过1小时则删除文件
    if (time() - filemtime($logFile) > 3600) {
        @unlink($flagFile);
    }
}
//如果日志文件存在,程序已经运行.
 if (file_exists($logFile)) {
    echo "Is already running,please unlock!";
    exit;
}
//加日志,创建日志文件,不同操作系统兼容
touch($logFile);
if (preg_match('/linux/i', PHP_OS) || preg_match('/Unix/i', PHP_OS)) {
    chmod($flagFile, 0777);
}


define('STARTTIME', '['.date('Y-m-d H:i:s').']');
echo STARTTIME."Cron start!\n";
try {
    echo 'run my PHP script!';
    $open = popen('php '.__DIR__.'\myCron.php -a param1 param2 &','w');
    $result[] = $open;
} catch (Exception $e) {
    echo $e->getMessage();
}
define('ENDTIME', '['.date('Y-m-d H:i:s').']');
echo ENDTIME."Cron End!\n";

//解锁,删除日志文件
unlink($logFile);

此脚本支持文件记录计划任务运行情况,包括开始时间,结束时间,任务报错或者程序运行过程记录,还可传参,具体日志细节可根据个人需求做出调整。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PHP定时任务脚本模板带日志记录 的相关文章

  • 使用来自另一个数据库的选择查询更新 mysql 表

    我有两个数据库 我想用另一个数据库表中的值更新一个表 我正在使用以下查询 但它不起作用 UPDATE database1 table1 SET field2 database2 table1 field2 WHERE database1 t
  • PDO语法错误

    我在一个项目中使用 PDO 但提交时出现语法错误 这是我的代码
  • PHP 正则表达式匹配字符串的最后一次出现

    我的字符串是 text1 A373R12345 我想找到该字符串最后出现的非数字数字 所以我使用这个正则表达式 0 9 然后我得到这个结果 1 A373 2 12345 但我的预期结果是 1 A373R 它有 R 2 12345 另一个例子
  • 如何更改codeception phpbrowser/mink超时

    我正在尝试使用代码接收创建测试 以检查页面在高负载的情况下是否正常工作 不幸的是 如果页面负载非常高并且测试开始 我会收到这样的错误 Codeception Exception ModuleConfig Codeception Util M
  • xdebug.remote_handler 在 PHP.INI 中设置,但未在 PHPinfo 中显示

    我正在尝试让 Xbdebug 与 NetBeans 一起运行 以便调试一些 PHP 代码 我确信几年前我已经让它工作了 然后切换了 IDE 现在想切换回来 When I try to debug the status bar shows 并
  • file_get_contents 大文件上传

    我正在尝试使用 fsockopen 上传 2GB 以上的大文件 但 file get content 出现以下错误 我无法在内存中存储大文件 我需要分块发送数据 但不知道如何执行此操作 请问有人可以指导我吗 致命错误 允许的内存大小 134
  • Zend Framework 中的动态默认模块

    有谁知道在 Zend Framework 中动态设置默认模块并且不会遇到命名空间问题的方法 例如 我想要做的是有一个允许加载的模块表 其中一个设置为默认模块 例如 我可能有 admin blog calendar 作为可以加载的模块 如果我
  • Ajax文件上传

    我想使用 Ajax 和 php 上传文件 我有一个表格
  • 检查字符串是否是哈希值

    我正在使用 SHA 512 来散列我的密码 当然还有盐 我认为我想要的不可能 但无论如何我们还是要问一下 有没有办法检查字符串是否已经是 SHA 512 或其他算法 哈希值 当用户登录时 我想检查他的密码 如果它仍然是纯文本 则应将其转换为
  • Laravel 从 API 响应中删除标头值

    Laravel 应用程序版本 5 6 我希望从 API 响应中显示的 Cache Control 标头中删除 private 值 我有一个中间件添加 无缓存 和 无存储 值 response next request response gt
  • Laravel 登录后重定向回来

    登录后如何重定向返回页面 在 Laravel 5 2 中 认证控制器 protected redirectTo 重定向用户
  • 如何使用 jQuery Ajax 将 PHP 数组值传递到另一个文件?

    这是我的代码
  • PHP 脚本不断执行 mmap/munmap

    我的 PHP 脚本包含一个循环 它只不过是回显和取消引用指针 如 tab othertab i gt 中的内容 直到昨天 这个脚本开始变得非常慢 比以前慢了 50 倍 之前 它一直运行良好 使用 strace 后 我发现 90 的情况下 脚
  • php如何生成动态list()?

    根据我的理解 这就是 list 的工作原理 list A1 A2 A3 array B1 B2 B3 所以在帮助下list 我们可以相应地从数组中分配值 这是我的问题 如何生成动态list 1 基于数据库返回结果 我不确定有多少 但我将其全
  • php date_parse("2010 年 2 月") 给出日期 == 1

    当没有日期时 我将其称为 date parse 中的错误 d date parse Feb 2010 会给 d day 1 请参阅对此的评论date parse 手册页 http php net manual en function dat
  • 使用 PHP 中的 GD 库在图像上绘图

    我创建了一个代码来生成随机图案图像 它创建一个具有给定宽度和高度的图像 并用 40x40 像素的小矩形填充它 这是我的代码
  • 为什么这评估为 true

    为什么这评估结果为真
  • 点击 %40 变为 %2540

    当单击包含 符号的链接时 该网址给我 40 这就是我想要的 但是一旦我点击它 一秒钟后它就在我点击后变成了 2540 单击是在电子邮件内 然后定向到网站 其中 40 更改为 2540 我怎样才能让它停止变化 它现在得到这样的参数 email
  • if/else 简写来定义变量

    我很难理解 if else 的 php 简写是如何描述的here https stackoverflow com questions 20233207 php if shorthand and echo in one line possib
  • 禁用 WooCommerce 手动/编辑订单的电子邮件通知

    需要 WooCommerce 专业知识 我需要禁用手动创建的订单的电子邮件通知 我必须使用处理状态 由于处理订单状态的自定义挂钩 我无法创建自定义状态 理想情况下 手动订单页面中可以勾选一个复选框 勾选后 它将禁止在每种状态下向客户发送电子

随机推荐

  • 简单了解照相机

    以上是随便找网上找的一张正经的照相机图片 如今照相机各种各样 今天我们会简单了解一下照相机的工作原理 涉及的工作原理 主要是这两个原理 话说很早很早的时候 我们的老祖宗 墨子就发现了 用一个带有小孔的板遮挡在墙体与物体之间 墙体上就会形成物
  • idea中使用git stash和git unstash

    一 git中没有提交到本地仓库的改变内容会带到别的分支 git 切换分支时会把未add或未commit的内容带过去 这样可能造成代码覆盖的问题 这个在工作中会经常遇到 二 对本地仓库的文件进行了修改 但没有提交到本地仓库 切换分支时会造成代
  • 小程序微信支付功能逻辑

    官方的思维图在下看不懂 自己整理一份以备后用 1 打开Pay付款页面 2 用订单号 查看订单信息前端展示 3 点击付款按钮 提交订单ID到后台 创建微信预支付交易订单 用JSAPI下单 4 返回创建后的 预支付订单编号信息 存入数据表 5
  • 用Python实现BP神经网络(附代码)

    用Python实现BP神经网络 附代码 大家好 我是毕加锁 锁 今天教大家用Python实现BP神经网络 附代码 用Python实现出来的机器学习算法都是什么样子呢 前两期线性回归及逻辑回归项目已发布 见文末链接 今天来讲讲BP神经网络 B
  • IntelliJ IDEA插件开发指南(一)

    概要 工欲善其事必先利其器 虽然IntelliJ IDEA的功能已经足够的强大 但是也无法满足开发人员想要的一切功能 对于此 IDEA提供了API接口供开发者进行插件开发扩展 但目前来说 网上对于IDEA插件开发的文档大多讲的不是很清楚 自
  • HTML,js,jQuery的1+S证书学习资料

    诸位 我是曜耀 今天为大家带来是关于大学期间考1 s证书的学习资料 1 S是教育部 国家发展改革委 财政部 市场监管总局联合印发 关于在院校实施 学历证书 若干职业技能等级证书 制度试点方案 部署启动 学历证书 若干职业技能等级证书 简称1
  • ‘gbk‘ codec can‘t decode byte 0xae in position 199: illegal multibyte sequen 问题解决

    在 机器学习实战 第四章中 使用朴素贝叶斯过滤垃圾邮件出现了 gbk codec can t decode byte 0xae in position 199 illegal multibyte sequen 错误 原因在于 email g
  • js url上添加随机数防止缓存

    1 通常使用ajax访问url添加 JS ajax请求地址后加随机参数 比如XXXX t new Date getTime 或者 在url后面加一个随机数 url test jsp number Math random 浏览器为了提高用户访
  • 芯片细分领域

  • 苹果笔记本怎么查看计算机基本信息,如何查询苹果电脑型号_查询苹果电脑型号的方法...

    新买入苹果电脑后无法确认是什么型号 虽然可以通过电脑外箱和机身标签识别 但此不够内容不够详细 那么还有什么办法查询苹果电脑型号呢 Mac的机型信息并不是直接可以在电脑的系统信息中查询到 而是根据Mac的信息来对比查询 下面快来看看操作方法
  • Android开发之合并文件的几种方式

    下面介绍合并文件的几种方式 并通过合并amr文件来举例介绍合并文件的具体流程 amr格式的文件头是6字节 所以在进行文件合并的时候要减去除第一个文件以外的其他文件的文件头 注意 不同文件的文件头是不一样的 所以在合并的时候根据不同文件相应的
  • 字节流

    import java io FileInputStream import java io FileNotFoundException import java io FileOutputStream import java io IOExc
  • AltiumDesigner安装及基本使用

    目录 一 Altium Designer2018下载安装 二 配置Altium Designer 三 元件库下载安装 四 简单使用软件画出基本电路图 五 总结心得 六 参考链接 一 Altium Designer2018下载安装 百度网盘下
  • 多模态模型学习1——CLIP对比学习 语言-图像预训练模型

    多模态模型学习1 CLIP对比学习 语言 图像预训练模型 学习前言 什么是CLIP模型 代码下载 CLIP实现思路 一 网络结构介绍 1 Image Encoder a Patch Position Embedding b Transfor
  • SQL中with as 用法

    with temp1 as select from table limit 10 Select from temp1 也可以嵌套 with temp1 as select from table limit 10 temp2 as selec
  • js添加类名的两种方法

    1 通过className来添加 删除类名 添加类名 获取元素 className 类名1 类名2 多个类名用空格隔开 移除类名 获取元素名 className 直接等于一个空字符串即可删除类名 2 通过classList来添加 删除类名
  • GLES2.0中文API-glHint

    名称 glHint 指定特定于实现的提示 C规范 void glHint GLenum target GLenum mode 参数 target 指定一个符号常量 指示要控制的行为 接受GL GENERATE MIPMAP HINT mod
  • 线程安全的单例模式

    线程安全的单例模式 单例模式 属于创建类型的一种常用的软件设计模式 通过单例模式创建的类在当前进程中只有一个实例 一份资源只能被申请加载一次 如何实现 饿汉模式 资源在程序初始化的时候就去加载 后边使用的时候直接使用 使用会非常流畅 但是有
  • 霍布森选择效应(Hobson choice Effect)

    1631年 英国剑桥商人霍布森从事马匹生意 他说 你们买我的马 租我的马 随你的便 价格都便宜 霍布森的马圈大大的 马匹多多的 然而马圈只有一个小门 高头大马出不去 能出来的都是瘦马 赖马 小马 来买马的左挑右选 不是瘦的 就是赖的 霍布森
  • PHP定时任务脚本模板带日志记录