I have a managed package with an install script that generates a scheduled job that runs every hour.

Is there anyway to protect my scheduled job from being deleted by a confused admin unless they are uninstalling the package?

There are some places in the rest of the code where I can check if the job is still scheduled and potentially reschedule it but that is dependent on a user triggering that code to run.

I figure the schedule job name should also make it clear what its for and that is required.

Are there any other options or best practices?

1 Answer 1


No, you can't "protect" a process from deletion. You would need to do as you say, checking for your job in triggers or however you decide to do it, and include your schedule in the documentation so admins will know about it. I also suggest that you set up a configuration link, outlined here, so that admins can check the status of your app, restart/reschedule/stop your service, etc.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .