shad-go/rsem
2024-06-05 20:36:34 +03:00
..
worker Updated to the most recent version, which uses go 1.22 2024-06-05 20:36:34 +03:00
docker-compose.yaml Updated to the most recent version, which uses go 1.22 2024-06-05 20:36:34 +03:00
README.md Updated to the most recent version, which uses go 1.22 2024-06-05 20:36:34 +03:00
rsem.go Updated to the most recent version, which uses go 1.22 2024-06-05 20:36:34 +03:00
rsem_test.go Updated to the most recent version, which uses go 1.22 2024-06-05 20:36:34 +03:00

rsem

Реализуйте семафор используя redis. В отличии от semaphore в shared memory, такой семафор можно использовать в распределённой системе, чтобы синхронизировать независимые процессы.

Ваша реализация должна обладать свойством robustness, это значит - семафор должен автоматически отпускаться, если процесс держаший его умер (тесты предполагают, что это происходит через секунду после смерти процесса). Чтобы реализовать это свойство, используйте TTL на ключи.

В вашей реализации может потребоваться атомарно выполнить набор команд. Для этого можно использовать транзакции или lua скрипт