Как написать lua-программу для tarantool, которая будет выполнять некоторые задачи регулярно (например, один раз в 10 минут) в фоновом режиме?Как написать lua-daemon для tarantool
0
A
ответ
3
Первый способ Использовать fibers. Fibers - это набор инструкций, которые выполняются при совместной многозадачности. Волокна, управляемые пакетом волокон, связаны с пользовательской функцией, называемой функцией волокна. Волокно имеет три возможных состояния: работает, приостановлено или мертво.
Пример
fiber.create(function()
while true do
-- Let say you have space with tree index.
-- Where each row index is timestamp + interval.
-- So, here you can get lower/upper bound by current timestamp e.g.
-- space:select{fiber.now()} -- get expired tasks
fiber.sleep(1) -- interval
end
end)
Второй способ использования expirationd - https://github.com/tarantool/expirationd
Смежные вопросы
- 1. Tarantool долго WAL написать
- 2. Как запустить консоль tarantool?
- 3. Комплекс SELECT в Tarantool
- 4. SQL LIKE query в Tarantool
- 5. Tarantool shiny dashboard
- 6. Как подключиться от tarantool к mysql?
- 7. Справка Поиск в Tarantool
- 8. Параметры вызова python-tarantool
- 9. Как будет встроен Tarantool внутри OpenResty?
- 10. Tarantool sphia сделать медленный выбор?
- 11. Не удается установить драйвер для mysql для tarantool
- 12. Запустить функцию Tarantool Lua в другом сопрограмме
- 13. Tarantool 1.6 не прослушивает адрес ipv4
- 14. Дата и время хранения в tarantool
- 15. Tarantool: limit/offset in index.indexName: пары call
- 16. Есть ли у Tarantool разъем для PHP 7?
- 17. Как я могу использовать очередь tarantool в php?
- 18. Как получить оставшееся время задержки задачи в очереди tarantool 1.6
- 19. Как написать процедуру для ...?
- 20. Разница между Redis AOF и Tarantool WAL log
- 21. Как удалить запись с помощью вторичного ключа для tarantool с помощью java-клиента?
- 22. Как написать спецификации для ActiveRecord
- 23. Как написать тест для директив
- 24. Как написать hashCode() для subClass
- 25. Как написать SpannableString для посылки?
- 26. Как написать BOOL для plist?
- 27. как написать описание для метода
- 28. Как написать плагин для браузера?
- 29. Как написать код для марафона?
- 30. Как написать Linq.Expression для IEnumerable.Any