Locking System Resources During Job Execution
When you create a job, you can prevent system resources from being modified by another job while your job is executing. To know which system resources to assign to the job, you must know which resources are related to which entity. For example, if your job modifies customers, assign the system resource profile to your job because customers are related to the profile system resource. When your job is executing, another job can't modify the profile system resource and unexpectedly change the outcome of your job. Resource locks are reentrant locks. In other words, if a job locks a resource, job steps in that job can lock the same resource again.
The following table shows which resources are affected when an entity is updated. If your job modifies the entity, we recommend that you assign the associated system resource to the job so that the resource is locked while your job is executing and can't be modified by another job.
Entity | System Resource |
---|---|
Content Library | content, folder, and library |
Customer | profile |
Customer List | customerlist |
Product List | productlist |
Customer Group | customergroup and profile |
Custom Objects | customobject |
Catalog | catalog, product, and metadata |
Price Book | pricebook |
Inventory List | inventory |
Order | address and order |
Tax Table | taxation |
Shipping Method | shipping |
Payment Method | paymentmethod |
Search Settings | searchindex |
Gift Certificate | giftcertificate |
Source Code Group | sourcecode |
Store | store |
Content Slot | slot |
Meta Data | metadata |
Job Schedules | schedule |
Services | service, servicecredential, and serviceprofile |
Site |
site Site import also affects resources for each element of the site that is imported. For example, a site import that contains stores will lock the store resource. |