php - 根据用户定义的时间运行特殊任务

标签 php mysql linux

我很惊讶我无法在这里找到相关内容 - 所以如果我完全错过了它,请引导我到正确的线程。

在深入研究任何代码之前,我会尝试收集一些处理这种情况的好主意。

我们正在开发一个网站,其中包含用户可以选择的任务列表,让服务器代表他们执行。自动电子邮件、短信、日历提醒等。

我首先考虑使用 cron,但由于每个用户的时间和任务可能每天都会发生变化 - 为了使其可行,我认为直接为每个任务使用 cron 可能会变得非常困惑和错误。

我的下一个想法是每天晚上午夜运行一个 cron 脚本,并生成第二天的任务列表 - 但我仍然需要 cron 或某种类似 cron 的定时守护进程来每分钟检查该列表的时间。

我已经考虑过几个想法,但它们似乎都相当活跃或处理器繁重。我希望找到一个良好的轻量级解决方案,每天可以处理多达数千个用户定义的任务。

我正在使用您的基本 LAMP7 堆栈。如果有人处理过类似的任务,我只是在寻找一些好的想法来考虑。

提前致谢。

最佳答案

您可以使用ReactPHP应用程序在您的计算机后台运行。

然后你可以创建一个简单的 http server在您的 ReactPHP 应用程序上,用于从您的网络服务器(例如您指定的 LAMP7)接收用户数据。一旦您收到消息,您可以通过在 event-loop 上设置异步计时器来触发这些事件。 .

关于php - 根据用户定义的时间运行特殊任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53465972/

相关文章:

Ruby 2.4 上的 MySQL Gem 安装错误

php - MySQL - 如何连接两个或多个具有多个 ID 的表?

linux - 如何更改 gcc 生成的 asm 代码的入口点?

linux - Shell 脚本 - 如何合并两个文本文件而不重复行

javascript - 使用 $.ajax 定位某个 PHP 函数

php - PHP 子类可以更改重写方法的参数吗?

php - SlimPHP 和路由 - 我做错了吗?

mysql - 父类(super class)型和子类型的含义

linux - 为什么 `su`一直问我密码

php - 如何使用 Hybridauth 获取 Twitter 用户的电子邮件?