如果您曾经访问过短信网站,您可能已经看到用户可以决定他们希望稍后安排发送短信。 因此,用户登录到该站点(现实生活中的示例位于http://www.smslive247.com或http://routesms.com),组成短信并点击“稍后发送消息”radiobox。这为用户提供了一个日期时间字段,然后您可以选择要分派消息的日期和时间(以及更改时区的能力)。 基本上,用户可以安排发送短信。
我也在设计一个类似的网站,并想知道是否有人可以告诉我这是怎么做的。
感谢。
答案 0 :(得分:1)
使用消息队列(例如在数据库中),该消息队列由处理记录并发送消息的单独进程(例如服务或cron作业)读取。
答案 1 :(得分:0)
一种方法是存储消息并编写服务以发送排队的消息。您可以将消息存储在数据库中。
答案 2 :(得分:0)
一种方法是使用数据库。
创建一个表,其中包含应发送消息的日期时间的列,以及包含该消息的另一列。
从后台线程(甚至是其他进程,例如Windows服务或SQL代理任务),每隔一段时间唤醒一次,读取表中的第一行,然后查看是否有时间执行它。类似的东西:
CREATE TABLE MyQueue (
TimeToExec DATETIME NOT NULL,
Message NVARCHAR(MAX) NOT NULL
)
INSERT INTO MyQueue VALUES(GETDATE(), N'message')
;WITH MYCTE AS (
SELECT TOP 1 Message
FROM MyQueue
WITH (ROWLOCK, READPAST)
WHERE TimeToExec <= GETDATE()
ORDER BY TimeToExec
) DELETE FROM MYCTE
OUTPUT DELETED.Message