【问题标题】:Is it possible to have a stateless timed function是否可以有一个无状态的定时功能
【发布时间】:2010-12-20 12:07:15
【问题描述】:

我正在尝试在系统中设置提醒以在特定时间触发。

这是一个基于网络的应用程序,所以它不会一直在内存中。

理想情况下,我想避免在服务器上使用服务或作业(主要是出于好奇,看看是否有更有效的方法来做到这一点)

例如,想象一下有多少 Ebay 竞标一直在不断地结束,并且电子邮件发送的时间看似完美。

人们是否发现只是一个大循环一遍又一遍,将项目移动到队列中等等......或者有一些较低级别的帮助(存储过程,触发器等)

谢谢大家。

【问题讨论】:

    标签: stored-procedures batch-file triggers batch-processing


    【解决方案1】:

    对于 eBay 以及大多数大型数据库支持的网站,您必须认识到的是,人类与数据库之间通过 Web 服务器进行的交互只是其功能的一部分(有时是很小的一部分)。系统。

    以 eBay 为例,当拍卖到期时发出的电子邮件不是由 Web 服务器处理的。他们更有可能编写脚本。换句话说,他们的许多系统上运行着另一个程序,它查看数据库中的已结束拍卖、对其进行一些处理、发送电子邮件等。

    如果我正在做类似的事情(尽管规模要小得多),我会以通常的方式构建我的 Web 服务,但有一项工作每隔几分钟就会自动运行一次以完成维护工作。它会启动,查看数据库的工作,处理任何需要的东西,然后退出。

    【讨论】:

    • 酷,这正是我计划做的,这似乎不会对系统造成不良影响。我只是认为可能有一些方法可以将事物绑定到时间点。嗯,也许我可以有一个每小时或每天查看数据库的进程,并缓存必须发生的操作。然后可以更有效地循环遍历,并且您只需每小时重建一次缓存(猜测,也可能是一天)。然后,如果出现任何问题,您并没有丢失任何内存信息,但是当它工作时,您会获得更少的数据库循环。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-16
    • 1970-01-01
    • 1970-01-01
    • 2011-03-02
    • 2022-01-10
    相关资源
    最近更新 更多