Which approach is better to choose for working with time

Which approach is better to choose for working with time.
I have a relatively simple task, to schedule the execution of workflows with a delay, from a minute to several days. But at the same time, I need the ability to get rid of processes that have not yet been completed that are waiting for their time.
What is better to apply:

  1. New functionality with the scheduler - creating a one-time scheduled task for each run. Is it then necessary to delete the task after completion, or if it is a one-time task, it will disappear by itself.
  2. Cron job - seems like a good simple option, but what to do with the management, how to delete scheduled jobs?
  3. Schedule the process and put it to sleep at the right time?
    Maybe there is a simple scheduling delay, but then again, how do you manage those delays?

I need the ability to get rid of processes that have not yet been completed that are waiting for their time.

Can you give more info on this? Do you intend to cancel (or terminate if you don’t need to do cleanup) these executions? Is it based on some criteria?

Good afternoon.
A couple of days ago, we were sure that we needed the ability to cancel or reconfigure the schedule. But now we have changed our minds and nothing like that is needed. If suddenly we do not need the result of the work of the planned process, we will simply ignore it.
But we have a one-time scheduling pattern, and I am very worried about the fact that after execution, even a one-time task does not delete itself and we need to clean it up. Of course, this can be made the final activity in the launched process, but this is an extra call to the temporal API.