zoukankan      html  css  js  c++  java
  • JS 随机时间 定时任务

    背景

    前两天,有个从事人事工作的朋友,每天需要在boss上打招呼.

    问我能不能批量搞一下啊~

    我说简单,几分钟搞定~~~

    实现

    写了一版,发现是所有打招呼在几秒内完成的.

    想实现一个间隔随机几秒执行.....

          
      //定时任务总次数
            var maxCount = 55;
            //随机单位时间范围
            var minNum = 1, maxNum = 10;
            //执行时间单位(1毫秒,10/10毫秒;100/百秒;1000/秒,)
            var p_unit = 1000;
    
            //随机数函数
            function randomNum(minNum, maxNum) {
                switch (arguments.length) {
                    case 1:
                        return parseInt(Math.random() * minNum + 1, 10);
                        break;
                    case 2:
                        return parseInt(Math.random() * (maxNum - minNum + 1) + minNum, 10);
                        break;
                    default:
                        return 0;
                        break;
                }
            }
    
            //时间格式化
            function timestampToTime(timestamp) {
                var date = new Date();//时间戳为10位需*1000,时间戳为13位的话不需乘1000
                var Y = date.getFullYear() + '-';
                var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
                var D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + ' ';
                var h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':';
                var m = (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()) + ':';
                var s = (date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds());
    
                strDate = Y + M + D + h + m + s;
                return strDate;
    
            }
    
            //随机数实例函数
            function num(unit) {
                if (!unit)
                    unit = p_unit;
                var n = randomNum(1, 5);
                var nowDate = new Date().getTime();
                console.log(timestampToTime(nowDate) + "间隔" + n * unit / 1000 + "秒执行");
                return n * unit;
            }
            //执行任务.
            var ii = setInterval(befor, num());
            var index = 1;
    
            function befor() {
    
                //方法可取消由 setInterval() 函数设定的定时执行操作
                clearInterval(ii);
    
                //主函数
                codeAddress();
                console.log("淘小人提醒您:任务总次数>>>"+maxCount+",  当前执行次数>>>" + index)
    
                //递归
    
                if (index <= 55) {
                    ii = setInterval(befor, num())
                } else {
                    console.log("淘小人提醒您,任务完毕.总执行次数>>>" + index)
                }
                //递归使用,当前索引+1
                index = index + 1;
            }
  • 相关阅读:
    LVM
    Linux 压缩归档
    <基础> PHP 字符串操作
    <基础> PHP 数组操作
    PHP 文件操作类(转载)
    Linux 磁盘管理(分区、创建文件系统、挂载)
    文件系统(File System)
    Linux 硬链接、软链接
    Django基础一
    数据库约束
  • 原文地址:https://www.cnblogs.com/blogs2014/p/12778231.html
Copyright © 2011-2022 走看看