use weakself directly when starting an app bg task