我正在编写一个.NET窗口服务,它在一定的时间间隔内安排作业。我正在使用QUARTZ进行调度。一份工作将完成两项任务:
拉取数据非常耗时,我会拉出块并推送数据。
我的问题主要在设计方面,介于推拉之间。当有东西可用于推送时,我想通知push组件。
请让我知道关于工作队列的意见,观察员?
答案 0 :(得分:0)
我会使用 hexagonal 方法。详情:
Chunk GetChunk();
此接口的实现可以是代表SDK的 hexagon 适配器的对象: SDKDataGateway < / em>的。在这个对象中,我将使用SDK放置所有数据提取逻辑。 Chunk 将是一个包含提取数据块的DTO; void Notify(Chunk chunck);
,它接收数据网关提取的数据块。 INotificationGateway 接口的实现可以是一个对象 RESTNotificationGateway ,其中包含有关通知数据所需的REST API的所有详细信息。这只是一个可能的解决方案的原始想法。名字可以肯定改进。我希望它可以帮助你。