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

有没有可能加一个让Sakura工作区的翻译器每隔15分钟自动开始的功能? #88

Open
AkiraChisaka opened this issue Jun 16, 2024 · 8 comments

Comments

@AkiraChisaka
Copy link
Contributor

就是说,因为获取翻译任务失败的现象还是出现的挺频繁的。而且出现之后会导致整个任务队列都卡死。

所以我在想,能不能干脆在Sakura工作区这个页面上,加个 “每隔15分钟,检查一下现在有没有正在翻译,如果没有的话就自动点一下开始”。

这样的话,半夜要跑东西的时候,就算有一个任务失败了也不会导致整个队列卡死。

而且未来可能还能做到远程添加新任务什么的,比如说家里的电脑不用的时候都挂着Sakura,如果有想翻译的东西可以直接远程添加任务。

甚至以后还能做个API什么的,让别的有我的API Key的人可以直接往我的任务队列里添加任务。

等许愿池做好以后,这样也可以避免许愿池清空导致大家的电脑都同时停止翻译,结果半夜许愿池添加了新的任务的时候没有机器可以自动认领。

@FishHawk
Copy link
Owner

顺利的话,月底前会搞定数据库大修。另外sakura工作区需要全面升级,但我还没想好使用界面怎么设计,以及如何平滑地过渡过去。

@AkiraChisaka
Copy link
Contributor Author

好耶!

顺便好奇,有考虑要把翻译队列给移到账号里么?

这样可以在别的设备上往自己的队列里加任务。

@FishHawk
Copy link
Owner

顺便好奇,有考虑要把翻译队列给移到账号里么?

不好做的,多端同步就得解决冲突。

@AkiraChisaka
Copy link
Contributor Author

不好做的,多端同步就得解决冲突。

唔,如果无视冲突呢?

就是,每次同步的时候,把所有的 “在每个设备上做过的操作都执行一遍” ?

或者不是把翻译队列给移动到账号里,而是远程的通过自己的账号,往在自己的主要电脑的队列里加入一个新任务……?

@FishHawk
Copy link
Owner

就是,每次同步的时候,把所有的 “在每个设备上做过的操作都执行一遍” ?

没办法,多端同步的复杂性是本质性的,规避不了,你想想git的merge就知道了。

@AkiraChisaka
Copy link
Contributor Author

的确呢,那么通过绿站往主电脑的队列里添加任务呢?

类似于push and pop一下,用手机往自己的账户的待排队上挂一个任务,然后电脑翻译的时候做每隔15分钟自启动的同时,把待排队里的条目一条一条的pop进电脑的队列里?

@FishHawk
Copy link
Owner

FishHawk commented Jun 19, 2024

的确呢,那么通过绿站往主电脑的队列里添加任务呢?

你说的有道理,我把这个和本地小说同步弄混了。原来的方案是把所有机器抽象成一个工作区,这个方案是分别管理不同的机器。考虑到翻译器是和机器绑定的,你说的方案才是正确思路。

这样的话,得先把localstorage里面的workspace的数据改成存在服务器了。

@AkiraChisaka
Copy link
Contributor Author

嗯呢,毕竟翻译器 + 机器 + 翻译队列是绑定在一起的呢,算是 “一个独立的东西”。

未来的梦想是,把我的 “这个东西” 直接公开出去,然后可以让熟人直接用什么的 (喵

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