

有没有帮助实现本地顺序执行任务的 queue?
source link: https://www.v2ex.com/t/810839
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

需求大概是这样滴
有一个界面,有一颗树,显示各种节点。用户可以点击 /右键任意一个节点,添加 /删除或者重命名,或者选择某节点后,显示一个面板,然后修改属性,等等。
但是,任意操作后,需要对应修改同一个文件,然后该文件会上传到服务器上(这个操作需要 3~5 秒,比较费时)
但是,“被要求”,每次修改后,立即执行文件保存并上传的操作(添加一个“保存”按钮,等都修改完成后,再保存提交它不香么?)。这样的话,用户每次操作,都要等待 5 秒,才能执行下一步操作。还不让我们把界面上的菜单灰掉(本来想操作没有执行完,菜单就灰掉,暗示 /强制 用户,现在不能操作)
所以,问题来了。现在我想使用一个 queue ,有点类似 message queue ,只是这个是本地的(有点像生产 /消费模型)。用户只管在界面上操作,每次动作类型和修改的数据,都添加到这个 queue 里面去。然后,monitor 这个 queue ,有内容了,就取一条,执行操作,保存,上传。然后再去 queue 里面取一条,blabla...
不知道有没有成熟的 npm package 做这个?还是说,只能再造一个轮子?或者,大家有什么想法?
p.s.1
好像 saga 里面有个 event channel ,是类似这样的。我们的环境里面本来就使用了 redux/redux-saga
可以试试每次用户的操作,emmit 一个消息到这个 channel ,然后这个 channel 里面,循环监听,处理消息,上传文件。
p.s.2
react + typescript + redux + redux-saga
Recommend
-
122
-
62
选自BAIR 作者:Tianhe Yu、Chelsea Finn 机器之心编译
-
44
Redis实战之实现定时执行任务 异步执行任务 支持定时执行 支持取消任务 保障快速执行 基于redis实现 基于redis的 s...
-
42
来源:中国航天科技集团10月9日,上海,天气阴。能容纳千人的殡仪馆礼堂,挤满了从四面八方赶来的人们。用户单位领导来了,协作单位合作伙伴来了,并肩战斗的同事、晚辈来了,一起送他们的老战友、老同事、老领导魏锺铨最后一程。我国著名卫星专家,我国静
-
18
当我们在web开发中,常常会遇到这么一个需求,在后台执行某一项具体的任务,具体的说就是这些任务必须在后台定时执行。 Quartz.NET...
-
12
用 ForkJoin 写一个并发执行任务的工具类 BatchTaskRunner ...
-
7
使用anacron定期执行任务 anacron与cron的不同点 在网上可以可以看到很多文章都把anacron与cron来做比较,但实际上这两者之间的差距还是蛮大的。 cron任务同通过常驻的守护进程crond来定期执行的。 而anacron则...
-
5
使用kubernetes的cronjob给你定时执行任务 发表于 2021-06-15...
-
3
你清楚下面这几个问题吗? 有了内存,为什么还需要 CPU Cache?...
-
6
深入分析3种线程池执行任务的逻辑方法发布于 19 分钟前摘要:结合ThreadPoolExecutor类的源码深度分析线程池执行任务的整体流程。
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK