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

Исправление бесконечно работающего апплета #35

Closed
imblowfish opened this issue Apr 19, 2022 · 10 comments · Fixed by #39
Closed

Исправление бесконечно работающего апплета #35

imblowfish opened this issue Apr 19, 2022 · 10 comments · Fixed by #39
Assignees
Labels
bug Something isn't working
Milestone

Comments

@imblowfish
Copy link
Collaborator

imblowfish commented Apr 19, 2022

При удалении апплета из AppletsManager'а он продолжает работать до перезагрузки всего приложения

@imblowfish imblowfish added this to the 0.1.1 milestone Apr 19, 2022
@imblowfish imblowfish self-assigned this Apr 19, 2022
@imblowfish
Copy link
Collaborator Author

imblowfish commented Apr 25, 2022

Пока ищу готовые пакеты, есть еще такие варианты реализации

Отменяемый промис promises-aplus/cancellation-spec#6
Потоки через worker threads https://nodejs.org/api/worker_threads.html
Cluster https://nodejs.org/api/cluster.html#clusterdisconnectcallback

@imblowfish
Copy link
Collaborator Author

imblowfish commented Apr 25, 2022

Варианты пакетов

https://www.npmjs.com/package/queue (не подошел, нельзя отменять асинхронные функции, т.к. выполнение всех задач в одном потоке)
https://www.hamsters.io/

@imblowfish
Copy link
Collaborator Author

Требования к пакету

  • отмена выполнения задачи, даже если в ней были запущены асинхронные задачи, то они тоже должны быть отменены, а не дожидаться завершения выполнения
  • управление повторением задачи, если она периодичная

@imblowfish
Copy link
Collaborator Author

Нашел вот такую штуку, можно выставлять периодичность выполнения
https://jobscheduler.net/#/

@imblowfish
Copy link
Collaborator Author

Пока не понял, что это такое https://gulpjs.com/
Но этот пакет основан на gulp https://www.npmjs.com/package/undertaker

@imblowfish
Copy link
Collaborator Author

Пока не понял, что это такое https://gulpjs.com/ Но этот пакет основан на gulp https://www.npmjs.com/package/undertaker

не подошло, позволяет описывать список задач и после этого запускать через gulp эти задачи, подобно тестовым фреймворкам.
просто инструмент для автоматизации каких-то специфичных задач. вещь интересная, но для проекта не подходит

@imblowfish
Copy link
Collaborator Author

Нашел вот такую штуку, можно выставлять периодичность выполнения https://jobscheduler.net/#/

чисто подобие cron

@imblowfish
Copy link
Collaborator Author

Это можно использовать для обмена сообщениями
https://github.com/arloliu/fastmq

@imblowfish
Copy link
Collaborator Author

Параллельная загрузка задач https://stackoverflow.com/questions/30950032/how-can-i-run-multiple-npm-scripts-in-parallel

@imblowfish
Copy link
Collaborator Author

Все пакеты не подошли, пришлось реализовывать собственный фикс, переименовываю задачу

@imblowfish imblowfish changed the title Замена собственной реализации задач на готовый пакет Исправление бесконечно работающего апплета Apr 26, 2022
@imblowfish imblowfish added the bug Something isn't working label Apr 26, 2022
@imblowfish imblowfish linked a pull request Apr 26, 2022 that will close this issue
@imblowfish imblowfish removed a link to a pull request Apr 26, 2022
@imblowfish imblowfish linked a pull request Apr 26, 2022 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant