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.