Allocating time to tasks and constraint


So I have alot of trouble with allocating time to tasks that aren’t done on a regular basis and constraining myself to only spend the time I allocated to completing these tasks. For instance, I do alot of different ad hoc tasks at work using different coding programs that I don’t use often. When I don’t know how long these tasks will take, I allocate an hour. An hour goes by and instead of moving onto to the next task I planned to get done that day, I continue to work on the said task that I allocated an hour to until it is done. I would ask for help at work, but no one knows how to use the programs I am working with to get the tasks done. Should I push myself to circle back to the said task later, break down the said task further, or increase the allocated time to two hours? What are the downsides to spending more time on a task than the originally allocated time for a task ?