×

php待办任务功能

php待办任务功能(php代做)

admin admin 发表于2023-03-21 14:55:10 浏览41 评论0

抢沙发发表评论

本文目录一览:

php任务进度条功能,求思路

你这是OA功能还是什么,如果是OA消息发送接收应该不是实时的.邮件通知或者站内信通知

不知你是否已经有框架 都存数据库就行没必要几维数组

首先是项目表 任务表 员工表

项目表和任务表一对多 并在任务表加order字段排序

任务表和负责人一对多 一个任务可以多个负责人 如果只允许一个负责人就更简单了

比如项目表中 projectID=1 name=测试项目

任务表中

taskID=1 projectID=1 order=1 text=第1个任务 isdone=fasle

taskID=2 projectID=1 order=2 text=第2个任务 isdone=fasle

taskID=3 projectID=1 order=3 text=第3个任务 isdone=fasle

taskID=4 projectID=1 order=4 text=第4个任务 isdone=fasle

taskID=5 projectID=1 order=5 text=第5个任务 isdone=fasle

员工表中

personID=1 name=员工1 taskID=1

personID=2 name=员工2 taskID=2

personID=3 name=员工3 taskID=3

personID=4 name=员工4 taskID=4

personID=5 name=员工5 taskID=5

personID=6 name=员工6 taskID=2

6个员工其中第六个员工和第二个员工都是处理第二个任务的

于是就都关联上了 isdone是否完成任务 根据这个判断显示几个

进度条很简单 5张前置图一张背景 完成了的显示前置图 没完成的不显示 这样就是进度条了

要实时更新就有用ajax动态更新

数据库自己家其他字段....

吃饭去了....全手打..自己想的..

php定时执行任务怎么写?

定时任务最好的方法是用linux系统的加护任务来写,你是虚拟主机那无法用这个法子,你可以写前台访问触发的法子,把代码写到页面,判断时间段如果是在设置的时间段就执行。

PHP实现定时任务的几种方式

一. 简单

?php

ignore_user_abort();//关掉浏览器,PHP脚本也可以继续执行.

set_time_limit(0);// 通过set_time_limit(0)可以让程序无限制的执行下去

ini_set('memory_limit','512M'); // 设置内存限制

$interval=60*30;// 每隔半小时运行

do{

//ToDo

sleep($interval);// 等待5分钟

}

while(true);

二. 简单 可控型

config.php

?php

return 1;

?

cron.php

ignore_user_abort();//关掉浏览器,PHP脚本也可以继续执行.

set_time_limit(0);// 通过set_time_limit(0)可以让程序无限制的执行下去

$interval=60*30;// 每隔半小时运行

do{

$run = include 'config.php';

if(!$run) die('process abort');

//ToDo

sleep($interval);// 等待5分钟

}

while(true);

三. 简单 改进型

?php

$time=15;

$url="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];

/*

function

*/

sleep($time);

file_get_contents($url);

?

php discuz的定时任务是什么原理怎么实现的?求高手解答

php中定时计划任务的实现原理:

当 PHP 脚本正常地运行 NORMAL 状态时,连接为有效。当远程客户端中断连接时,ABORTED 状态的标记将会被打开。远程客户端连接的中断通常是由用户点击 STOP 按钮导致的。当连接时间超过 PHP 的时限时,TIMEOUT 状态的标记将被打开。-php待办任务功能

示例代码:

?php

ignore_user_abort(true);set_time_limit(0);

date_default_timezone_set('PRC'); // 切换到中国的时间

$run_time = strtotime('+1 day'); // 定时任务第一次执行的时间是明天的这个时候

$interval = 3600*12; // 每12个小时执行一次

if(!file_exists(dirname(__FILE__).'/cron-run')) exit(); // 在目录下存放一个cron-run文件,如果这个文件不存在,说明已经在执行过程中了,该任务就不能再激活,执行第二次,否则这个文件被多次访问的话,服务器就要崩溃掉了-php待办任务功能

do {

if(!file_exists(dirname(__FILE__).'/cron-switch')) break; // 如果不存在cron-switch这个文件,就停止执行,这是一个开关的作用

$gmt_time = microtime(true); // 当前的运行时间,精确到0.0001秒

$loop = isset($loop) $loop ? $loop : $run_time - $gmt_time; // 这里处理是为了确定还要等多久才开始第一次执行任务,$loop就是要等多久才执行的时间间隔-php待办任务功能

$loop = $loop 0 ? $loop : 0;

if(!$loop) break; // 如果循环的间隔为零,则停止

sleep($loop);

// ...

// 执行某些代码

// ...

@unlink(dirname(__FILE__).'/cron-run'); // 这里就是通过删除cron-run来告诉程序,这个定时任务已经在执行过程中,不能再执行一个新的同样的任务

$loop = $interval;

} while(true);

ThinkPHP怎么做定时任务

这个功能用服务器上面的定时任务做吧,

非得用php也可以做,使用

set_time_limit(0);

ignore_user_abort(true);

写一个死循环,sleep(1),每秒执行一次,具体业务逻辑你自己写,建议这个php程序,依赖一些外部数据来维持,每执行一次,然后记录执行次数到数据库,或者文件里,每次执行读取这个执行次数记录,用来控制程序的执行个数(因为这个程序算是永久进程,除非服务器重启了),除了控制执行次数,也要增加一个文件,数据库记录,来记录一个状态,每次程序执行同时去检查这个状态,如果是1,则执行,如果是0则程序终止,并且前面的执行次数-1,。这样就可以手动结束这些永久php进程了,同时也可以写一些日志,来观察程序的运行状况-php待办任务功能

我想用php做个任务提醒功能,如我今天添加一个任务,任务时间是明天,到了明天我这个任务做个主动提醒

楼主我大概了解你的意思,要实现这种问题应该是可以通过两种方案,一个是后端推送提醒(但是web程序如果不通过浏览器访问的话不能像APP一样可以推送消息后提醒啊~),另外一种就是前端开定时器匹配时间,匹配后提醒,大概思路如下-php待办任务功能

1:后端长轮询提醒,查询到后,基本不现实,如果浏览器支持websocket还可以考虑,为了通用性还是别考虑了。

2:前端提醒

a.后端将提醒时间打到页面,js开个setInterval进行匹配,时间匹配相同时提醒

b.通过ajax,也是定时想后端请求,后端检测是否需要提醒,来返回前端,让前端处理