A non-blocking delay is acceptable.
While instant processing might be ideal, delayed processing is normal in many situations. When we apply for a credit card, apply to rent an apartment, apply to college, or apply for a job we understand that we will need to wait for our application to be reviewed and processed before we receive a decision. That said, it would be unacceptable for your software to appear frozen or to keep a person stuck looking at a progress bar for 10 minutes.
Consider providing instant feedback the post has been submitted followed by a delayed notification when the review process is complete. For example:
- User submits a new post
- User sees “Your Post has been Submitted” message
- Review the post in the background
- User receives a “Your Post has been Approved/Denied” notification when the review is complete
- User clicks a link in the notification to view the approved post
This way your software never appears broken, frozen, or sluggish and the people using it understand their request is being processed in the background.