@Abdallah Shukor If you have long running task then you can use Durable functions as you have mentioned that it will process and upload as it may take time. But running the program.cs first is not possible in either the Durable functions or Timmer trigger functions.
Once your timmer trigger function will execute then only your copied code from program.cs inside the run method will be executed.
The alternative that I could think of would be using two functions and service bus i.e. one function would have the business logic to process and upload (same code as program.cs) that send the message to the service bus with the scheduled time (you need to send schedule new message every hour). Another function that will listen to messages to your entity (queue/subscription) and based on the event perform the further operation.