A Neither the uplink nor the Anvil server can show an alert on the form. Showing something on the form must initiate from the form, and using the tick
event of a timer is a good option for it.
B A background task can only communicate with other functions via the Task
object or via a row object.
A + B = Sorry, you do need the status.
You could wrap the whole background task like this:
try
# do your job
except Exception as e:
row['status'] = f'Failed: {e}'
You could even include the whole traceback if you want.
On the bright side you will never get a TimeoutException
, because background tasks can work for unlimited time (unless you are on the free plan, in which case the usual 30 second limit applies).