Information Management Policy and Expiration Policy are the two weekly timer jobs that make the policy work.
In SharePoint online, timer jobs are controlled by Microsoft, we need to wait until the timer jobs run.
Please go to SharePoint Designer->site Options, check the timer jobs' last run time through “dlc_PolicyUpdateLastRun” and “dlc_ExpirationLastRun” parameters.
As a workaround, we could use flow to automatically delete files in Document Library after X days:
- Use an schedule trigger with 1 day interval(you could change it as needed).
- Use the action - SharePoint - Get file properties only. Put your Site and Document Libary name
- Use an foreach and put values as result.
- Use an advanced condiction to verify if the actual date is greater than document created date + 2 @greater(utcnow('yyyyMMdd'), formatDateTime(addDays(item()?['Created'], 2), 'yyyyMMdd'))
- If the condiction is yes, the document is older than 2 days.
- Use the action - SharePoint - Delete Item.
If the response is helpful, please click "Accept Answer" and upvote it.