It is being so late for the answer but,
work manager is useful to schedule task for periodic time for at least 15 min delay in between periodic request but somehow if you wants to achieve periodic work then you can do this with the login given below which is not a good practice but it works.
You can set worker for periodic request with 15 minutes request which will work periodically and in the worker class you can manage your worker for every second as given below.
override suspend fun doWork(): Result {
for (i in 1..900){
delay(1000)
Log.d("Work for every second", "doWork: Running")
}
return Result.success()
}
This will work every second for 15 minutes and after 15 minutes your worker will again make a request so this is how you can achieve work for every second.
You have to manage your worker to when to stop else this will create memory leaks too.
This is not a best practice to work this kind of functionality for every second but this is how you can achieve this.