2 over0609 over0609 于 2016.03.04 15:28 提问

定时任务sleep在刷新页面后不执行

也是个客户的奇葩需求,需要在php中搞一个定时任务,在N天后执行,我在网上找到的方法是用while循环,里面用sleep()控制任务启动时间,但是问题在于到启动时间之前页面不能跳转,如果我把跳转写到sleep()之前的话,sleep就不执行了
其实最头痛的问题主要是在sleep执行的时候客户不能做别的事情了,而且客户需要定时的时间很长,差不多4天的样子,所以想问问有没有别的办法

2个回答

anbailong
anbailong   2016.03.04 16:37
已采纳

把定时器写在服务器端 到四天之后从服务器推送过来消息 ,这样刷新页面就不会有上面影响
而不是在客户端js中写这个东西

kunpeng1987
kunpeng1987   2016.03.07 17:54

在服务端写一个定时任务就可以了,Linux服务器crontab命令。。。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
解决修改系统时间后Spring 定时任务不执行
服务器被关机了,今早才重启。 又因为Spring定时任务服务没有加入开机重启。 机器重启后,只能手动重新启动定时任务服务。 然而这时候发现机器重启后,我们的服务运行不正常。
linux下使用crontab实现定时PHP计划任务失败的原因分析
很多人在linux下使用crontab实现PHP执行定时任务却未能成功,不能生成缓存。本文就linux下使用crontab实现定时PHP计划任务失败的原因做一分析。 一般我们linux定时执行php代码例如: ? 1 */5 * * * * /usr/local/php/bin/php /home/wwwroot/1.ph
修改操作系统时间mysql event事件不执行的处理方法
最近在做mysql定时器是出现了一个问题:定时器启动之后,修改操作系统时间后,到指定时间无法执行,经多次查找原因,一无所获。最终发现mysql在启动时会校验操作系统时间,之后是否校验博主并不清楚(希望有大神指教)。方法如下: 1、启动定时器SET GLOBAL event_scheduler = 1; /*开启事件设置*/2、开启事件ALTER EVENT event_na
spring定时任务配置,以及不执行的解决办法
前几天,同事问了我一个问题,我告诉他用spring的定时任务解决,并给他配置了spring的定时任务。当时随便找了一个bean写了一段代码,验证定时任务正确执行后,就没再管,昨天下午,同事写代码的时候,把这段代码移到了自己特定的bean中。问题就来了,定时任务不执行了。我给他把代码的位置又换回之前的那个bean中。又可以执行。。 弄了老半天,终于解决了。原来是spring延迟加载的问题。 sp
刷新页面后怎么让js定时器继续刷新前的状态继续计时
为了帮助网友解决“刷新页面后怎么让js定时器继续刷新前的状”相关的问题,中国学网通过互联网对“刷新页面后怎么让js定时器继续刷新前的状”相关的解决方案进行了整理,用户详细问题包括:javascriptjs         var t;         var flag=1;         function support_click()         {            if(flag
oracle定时器执行一遍就不执行或本就不执行
以sqlplus/ assysdba进入sql命令模式,使用sql:select value from v$parameter where name like '%job_queue_processes%' , 看查询结果是否为0,若是或者数值较小,使用sql:alter system set job_queue_processes = 30修改,30表示需要的job,根据个人需要设置。
Quartz定时任务 在tomcat运行正常部署到WebSphere中却不执行
由于领导的需求,需要把后台的定时任务框架换一下(原来的用的是特别老的框架,说不上是什么框架).然后自己在本地创建了一个ssm的项目.定时任务采用的是quartz下面是我本地定时任务的配置刚开始在本地环境(tomcat)跑的时候没什么问题.然后部署在was中却发现定时任务没有输出. 然后写了一个借口测试一下看看是不是日志输出的地方有问题.调用接口之后 发现输出没问题 这时候猜测可能是定时任务没有执行...
crontab定时任务不执行的解决办法
1、查看crontab执行记录如果出现了crontab定时任务不执行的情况,首先需要定位问题,那么就需要通过日志来确定问题所在。crontab的日志位置一般位于/var/log/cron,利用下面的语句即可查看日志。1 tail -f /var/log/cron上面的/var/log/cron只会记录是否执行了某些计划的脚本,但是具体执行是否正确以及脚本执行过程中的一些信息linux会通过邮件形式...
CentOS crontab 定时任务不执行的常见解决方法
crontab 配置文件 SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ # .—————- minute (0 – 59)  # |  .————- hour (0 – 23) # |  |  .———- day of month (1 – 31) # |  |  |  .——-
crontab定时任务Java程序不执行问题
 crontab定时任务Java程序不执行问题 linux下,项目部署在/data/my/scriptTest/bin ./back.sh 其中脚本在项目下,可以正常执行 vi back.sh #!/bin/sh ulimit -n 65536 # cp运行备份jar cp -f scriptTest.jar scriptTest_runtime.jar # 执行程序,依赖