Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

定时任务实现方案 #5

Open
Guo-Zhang opened this issue Jun 20, 2023 · 2 comments
Open

定时任务实现方案 #5

Guo-Zhang opened this issue Jun 20, 2023 · 2 comments

Comments

@Guo-Zhang
Copy link
Member

初步计划使用Celery。

@huangrihang
Copy link

需求:由于RESTful API无法直接定义复杂操作,所以需要用单独服务API或事件监听的方式达到执行特定的计算逻辑(如随机抽样一个资源)后自动操作资源的效果。
定时任务仅是作为定时批量扫描已触发的事件然后执行相应逻辑的一种不太完善的近似替代方案。
另外,定时任务确实能够服务于专门的有定时需求的计算逻辑,只不过目前还较少见;也可以利用云函数定时触发器来替代。

@Guo-Zhang
Copy link
Member Author

领域驱动设计的模型有Entity、Value Object、Service三类。我们定义的大部分都是Entity,少部分是Value Object(比如自定义Type),Service理论上也是可以的。对于API设计来说,增加类似的功能,主要是看如何定义Service对象以及Service的增查删改。

内部的触发机制是这里真正的需求。Django框架里是用signal实现组件之前通知消息的,可以实现一些简单的触发机制。复杂的需要使用MQ,或者Celery套一层数据库做MQ。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants