现在遇到一个问题是:
<code> 用户A登陆后台之后 设置一个定时任务 每天早上 9:00 执行, 用户B登陆后台之后 设置一个定时任务 每天夜里 8:00 执行, 用户C ... 这种功能如何设计 用户是web系统的用户,不是操作系统的用户。</code>
回复内容:
现在遇到一个问题是:
<code> 用户A登陆后台之后 设置一个定时任务 每天早上 9:00 执行, 用户B登陆后台之后 设置一个定时任务 每天夜里 8:00 执行, 用户C ... 这种功能如何设计 用户是web系统的用户,不是操作系统的用户。</code>
用户设置定时任务后,后台逻辑将定时任务下发给crontab
,使用crontab
来定时执行用户的任务。
https://github.com/osgochina/swoole-crontab
基于swoole的定时器程序,支持秒级处理.
异步多进程处理。
完全兼容crontab语法,且支持秒的配置
请使用swoole扩展1.7.9-stable及以上版本.Swoole
一般的做法是,用户设置定时任务后,后台将数据记入存储(这样用户取消只要用字段标记失效就可以了),用crontab或者守护进程做扫描,把满足条件的任务激活执行。
我看到你打了php标签,php可以使用pcntl扩展实现纯php定时器任务,目前php只支持以秒为单位的触发,不支持更小时间单位,不过对位定时任务而言基本足够~
Windows下计划任务,Linux下crontab,php去调用
每一个web用户创建的所有定时任务的总和就是你的系统的所有定时任务,只不过定时的时间点不同而已,所以,你的核心点还是在创建定时任务上。
你可以先建立一个定时任务表,记录每一个定时任务的时间点,要执行的动作,对应的用户id等信息,再创建一个定时任务去不断的刷这个表,如果发现某条记录到了定时点,就执行对应的动作。
具体的一些定时任务的思路可以先看下这篇文章:http://segmentfault.com/a/1190000002955509
可以将要执行的任务放入数据库然后在写一个后台程序去解析数据库的内容或者利用系统的计划任务来启动解释程序去执行
discuz也有计划任务,有兴趣可以去了解一下。 不过discuz 的是要用户触发入口才会执行的吧。

php把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

实现方法:1、使用“sleep(延迟秒数)”语句,可延迟执行函数若干秒;2、使用“time_nanosleep(延迟秒数,延迟纳秒数)”语句,可延迟执行函数若干秒和纳秒;3、使用“time_sleep_until(time()+7)”语句。

php除以100保留两位小数的方法:1、利用“/”运算符进行除法运算,语法“数值 / 100”;2、使用“number_format(除法结果, 2)”或“sprintf("%.2f",除法结果)”语句进行四舍五入的处理值,并保留两位小数。

判断方法:1、使用“strtotime("年-月-日")”语句将给定的年月日转换为时间戳格式;2、用“date("z",时间戳)+1”语句计算指定时间戳是一年的第几天。date()返回的天数是从0开始计算的,因此真实天数需要在此基础上加1。

php字符串有下标。在PHP中,下标不仅可以应用于数组和对象,还可应用于字符串,利用字符串的下标和中括号“[]”可以访问指定索引位置的字符,并对该字符进行读写,语法“字符串名[下标值]”;字符串的下标值(索引值)只能是整数类型,起始值为0。

方法:1、用“str_replace(" ","其他字符",$str)”语句,可将nbsp符替换为其他字符;2、用“preg_replace("/(\s|\ \;||\xc2\xa0)/","其他字符",$str)”语句。

php判断有没有小数点的方法:1、使用“strpos(数字字符串,'.')”语法,如果返回小数点在字符串中第一次出现的位置,则有小数点;2、使用“strrpos(数字字符串,'.')”语句,如果返回小数点在字符串中最后一次出现的位置,则有。

在php中,可以使用substr()函数来读取字符串后几个字符,只需要将该函数的第二个参数设置为负值,第三个参数省略即可;语法为“substr(字符串,-n)”,表示读取从字符串结尾处向前数第n个字符开始,直到字符串结尾的全部字符。


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

mPDF
mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

Notepad++7.3.1
Easy-to-use and free code editor

MinGW - Minimalist GNU for Windows
This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

Atom editor mac version download
The most popular open source editor

SublimeText3 Linux new version
SublimeText3 Linux latest version
