Salesforce B2C Commerce预定作业 – 从工作失败中恢复

学习目标

完成本单元后,您将能够:

  • 列出可用于检测作业问题的资源。
  • 列出常规问题类型。
  • 说明如何研究电子邮件通知错误。
  • 说明纠正生产实例上的工作问题的最佳方法。

介绍

Cloud Kicks的管理员Linda Rosenberg了解到,最好在运行作业时主动将其配置为自动故障排除。当工作开始失败时,该退后一步并收集数据了,这样她就可以快速了解发生了什么。

一切顺利,一切都取决于她!

检测工作问题

主动的方法意味着她将所有作业配置为在运行时间超过指定时间时向管理员发送电子邮件。这消除了意外的因素。

有时,作业存在Salesforce B2C Commerce在日志中记录但实际上并未停止该作业的问题。如果这些错误持续存在并且很严重,她可以将处理添加到其作业管道中以检测并停止该作业。

她了解到,定期检查日志以识别问题(长期或其他问题)是一种好习惯。

电子邮件通知

Linda可以通过在单个计划或作业配置中设置值来配置电子邮件通知。为了简单起见,她对所有电子邮件通知使用相同的电子邮件模板。B2C Commerce以标准文本文件发送通知,包括:

  • 发件人地址
  • 列出
  • 学科
  • 主体

如果未将邮件服务器配置为发送错误通知,则可以查看日志文件。B2C Commerce在系统错误日志和syslog中记录错误。

工作问题

如果作业处于“正在运行”状态并且已获得至少一个锁,则Linda需要释放锁,然后她才能再次运行该作业。要解除锁定,她将使用Control Center停止并重新启动实例。她必须具有适当的凭据才能访问控制中心。

网络问题

如果作业因实例故障而终止,或者作业在完成过程中终止了一部分,则数据可能是更新数据和旧数据的混合。她应该再做这份工作。

资料错误

为了解决数据错误,她尝试以下操作。

恢复方法 描述
从另一个实例复制数据 如果在导入到生产中时遇到问题,并且登台具有可以回滚的正确数据,则这是最有用的。
导入后端系统产生的新提要 这是最常用的恢复方法。通常,您必须在后端系统中修复数据并生成新的提要。
使用导入提要档案中的数据 如果后端系统在生成提要时出现问题,这将非常有用。为了使这些数据可用,您必须具有一个归档提要和清理旧的归档提要的系统。
使用来自常规出口的数据 这对于生产系统上的数据(例如产品可用性)或直接导入生产中的数据(例如价格表)最有用。为了使这些数据可用,您必须创建一个导出所需数据的作业。

这对于仅存在于Business Manager中而不存在于后端系统中的数据(例如特定于Web的属性或URL属性)也很有用。

生产实例

在大多数情况下,当Linda将数据传输到生产实例时,她从登台实例执行数据复制。但是,对于频繁导入的定价,库存或其他类型的数据,她使用作业将数据直接从外部来源转移到生产中。与分段一样,Linda的工作可能会中断,从而导致生产实例上的数据混合。

存档最佳做法

由于Linda不能自动回滚受工作问题影响的生产实例,因此她总是创建其现有站点的存档,如果作业失败,可以将其回滚。

总结一下

在这个部门中,Linda学习了如何在各种情况下解决作业错误。她还了解了归档过程和定期(频繁)错误日志检查的重要性。

现在该测试您的知识并获得一个崭新的徽章。

Salesforce B2C Commerce预定作业 – 创建和配置作业

学习目标

完成本单元后,您将能够:

  • 列出可以使用“作业”模块执行的三个任务。
  • 创建工作。
  • 将资源分配给作业。
  • 将作业步骤添加到一个或多个流程。
  • 创建一个全局参数。

介绍

既然Linda能够理解工作并了解系统和自定义工作步骤,那么现在该她创建和配置工作了。她需要访问业务经理工作模块才能执行此操作。通过“作业”模块,她可以创建和安排作业,为作业失败设置电子邮件通知,以及使用作业资源来防止冲突。

要访问业务管理器,您必须具有B2C Commerce实施。在此模块中,我们假设您是B2C Commerce管理员,具有执行这些任务的适当权限。如果您不是B2C Commerce管理员,那就可以了。继续阅读以了解您的管理员如何在登台实例中执行这些步骤。不要尝试在您的Trailhead游乐场中遵循我们的步骤。Trailhead Playground中不提供B2C Commerce。如果您拥有B2C Commerce的暂存实例,则可以在实例中尝试这些步骤。如果没有暂存实例,请询问您的经理是否有可以使用的实例。

创建工作

这是Linda如何创建作业以导入目录。

  1. 打开业务经理。
  2. 选择管理>操作>作业
  3. 单击新建作业(1)。业务经理职位页面
  4. 输入cloudkicks-catalog-data作为ID(1),输入Cloud Kicks的Catalog数据作为Description(2)。
  5. 忽略优先级功能。目前不支持。
  6. 单击创建(3)。业务经理职位新职位页面
  7. 单击计划和历史记录选项卡。
  8. 选择启用以按计划运行作业。如果未启用该作业,您仍然可以手动触发它。
  9. 选择一次以触​​发作业运行一次,或选择重复间隔
  10. 对于要定期运行的作业,请使用日历图标选择过去的日期。如果您不计划过去的日期,则必须等待为作业指定的日期。您还可以选择一周中的一天,一个时间,一个间隔以及该作业应运行的次数。

锁定资源

Linda可以锁定资源,以防止其他用户或作业在其上操作该资源时对其进行更改。例如,在更新目录时,她不希望其他工作或用户更新或更改目录,类别或产品。这是她锁定的方式。

  1. 单击资源选项卡(1)。
  2. 单击选择(2)。
  3. 选择系统资源(3)。
  4. 将作业更改或更新的对象添加为资源(例如,订单)。
  5. 单击选择(4)。作业资源页面

将作业步骤添加到流

琳达想增加工作步骤。

  1. 在新作业中,单击“作业步骤”选项卡。空流已经建立。第一个流程在“作业步骤”页面上以灰色矩形(1)表示。具有一个工作流程的“作业步骤”选项卡
  2. 单击配置步骤以在流程中创建新步骤。
  3. 在“选择和配置”步骤窗格中,选择要添加到流程中的系统或自定义作业步骤。琳达选择ImportCatalog
  4. 指定作业步骤参数。每个作业步骤都有其自己的唯一参数。将鼠标悬停在参数名称上可获得有关该参数的更多信息。这是示例中ImportCatalog作业步骤的参数。
    1. 输入唯一的步骤ID。
    2. 添加描述。这在工作流和作业上可见。
    3. 指定工作文件夹。这包含您要相对于IMPEX / src导入的目录文件。如果未定义此值,则B2C Commerce使用IMPEX / src作为工作文件夹。
    4. 输入FileNamePattern。这是您要导入的文件的名称。使用正则表达式(regex)指定多个文件。如果未定义此值,则Salesforce B2C Commerce会导入工作文件夹中的所有文件。
    5. 指定NoFilesFoundHandling,如果B2C Commerce没有找到要导入的任何文件会发生什么。
    6. 指定ImportFailedHandling,以防导入失败。
    7. 指定AfterImportFileHandling,以了解导入后文件的后果。
    8. 指定ArchiveFolder。如果将其设置为“存档”或“存档压缩”,则此设置定义B2C Commerce相对于IMPEX目录存储文件的位置。如果未定义,则B2C Commerce会将文件存档在IMPEX /存档中。
    9. 选择导入模式:
      • 删除: 删除对象。
      • 合并: 创建不存在的对象,然后进行更新。
      • 替换: 使用提供的数据重新创建对象。
      • 更新: 更新现有对象。
    10. 如果希望B2C Commerce失败重新启动作业,请选择“始终在重新启动执行”。即使B2C Commerce在重新启动之前完成了作业,此步骤也应始终包含在执行中。
    11. 指定错误处理,以了解系统应如何应对作业错误。
  5. 对于范围,将值保留为默认值Organization。ImportCatalog作业步骤必须在组织范围内运行。

添加新流程

琳达(Linda)创建工作时,已经为她配置了一个流程。她可以将所有工作步骤添加到该流程中。她还可以创建多达四个同级流程,Business Manager在“作业步骤”选项卡上并排表示。她可以将同级流配置为顺序运行或并行运行。

但是,正如您先前所了解的,如果没有足够的资源来执行并行执行,或者步骤类型不支持并行执行,则B2C Commerce会顺序执行同级流程。

下图显示了“作业”选项卡上的流程选项。

  1. 添加同级流程。
  2. 在同级流的顺序处理和并行处理之间切换。
  3. 添加一个新的顺序流。作业步骤选项卡上的流程选项

配置故障排除设置

Linda希望配置故障排除设置以帮助隔离问题。她采取了这些步骤。

  1. 单击“失败处理”选项卡,然后选择失败规则。如果作业步骤在发生错误时使用错误处理并将错误处理操作指定为STOP,则B2C Commerce会调用该规则。
  2. 如果您希望收到有关作业状态的通知,请单击“通知”选项卡。
    1. 选择启用
    2. 选择您要接收通知的事件。
    3. 输入所需的电子邮件信息。
    4. 在“长时间运行时检测”下选择“启用”,然后输入运行时阈值。

手动运行作业

有时Linda收到一项重要/紧急工作的请求,或者在进行故障排除时需要手动运行该工作。这是她的工作。

  1. 打开业务经理。
  2. 选择管理>操作>作业
  3. 选择您要运行的作业。
  4. 单击立即运行
  5. 检查页面底部的“历史记录”部分,以查看作业是否存在错误或问题。
  6. 您也可以选择管理>操作>作业历史记录以监视作业状态。

创建作业参数

Linda可以创建一个作业参数以用于不同的作业步骤。例如,她可以为ReplicationProcessID创建一个参数并将其设置为特定复制过程的ID。她可以在不同的工作步骤中使用该参数。如果她需要使用其他复制过程,则可以更改参数的值,然后B2C Commerce将更新所有包含该参数的步骤。

配置作业参数后,只能将其重用于以与原始参数完全相同的方式定义的步骤参数。

例子:

  • Linda为需要布尔值true / false的step参数创建一个job参数。她不能将其用于需要字符串的step参数。
  • 两个步骤都有一个带有模式约束* .xml的字符串参数FileName。她可以为两个步骤定义一个作业参数。
  • 第一步具有带模式约束.xml的字符串参数FileName,另一步具有带模式约束.txt的字符串参数FileName。她无法定义要在两个步骤中使用的作业参数。

如果要使用相同的job参数设置自定义作业步骤,则step参数在steptypes.json文件中必须具有相同的类型定义。换句话说,必须完全定义参数的所有属性。例如,Linda不能使用相同的job参数来设置以下两个自定义步骤参数,因为MyParameter1的@type属性为“ long”,而MyParameter2的@type属性为“ double”。

{
 "@name":"MyParameter1",
 "@type":"long",
 "@required":"false",
 "description":"An optional long parameter. The default value is 10 when not defined.",
 "default-value":"10"
},
 "@name":"MyParameter2",
 "@type":"double",
 "@required":"true",
 "@trim":"true",
 "description":"A required double parameter were the raw
  value is trimmed, value must be between -10 and +10.",
 "min-value":"-10",
 "Max-value":"10"
}, 

创建作业参数

琳达想创建一个工作参数。这是她的工作。

  1. 创建一个作业步骤或选择一个现有的步骤。
  2. 单击您要为其创建参数的字段。
  3. 单击作业参数
  4. 单击添加作业参数
  5. 输入参数的唯一名称。
  6. 输入参数的值。
  7. 单击保存。
  8. 点击分配
  9. 要在另一个作业步骤中使用参数:
    1. 单击您要使用参数的字段。
    2. 单击作业参数
    3. 选择要使用的参数。
    4. 点击分配

修改作业参数

修改作业参数:

  1. 在“作业步骤”选项卡上选择“作业参数”。
  2. 选择要更改的参数,然后输入新值。
  3. 点击保存

下一步

在本单元中,Linda学习了如何计划,创建和配置作业。接下来,她学习如何从工作失败中恢复。

Salesforce B2C Commerce预定作业 – 创建自定义作业步骤

学习目标

完成本单元后,您将能够:

  • 列出创建自定义作业所需采取的步骤。
  • 描述面向任务的脚本模块和面向块的脚本模块之间的区别。
  • 解释一下steptypes.json文件是什么。

介绍

Cloud Kicks的管理员Linda Rosenberg正在创建工作,并且找不到能完全满足她要求的系统步骤。她希望将数据直接从外部产品信息(PIM)系统导入生产实例。她需要自定义代码来执行此操作,因为她想导入目录数据,对其进行处理,然后将其保存在Salesforce B2C Commerce数据库中。这不是一个简单的导入。为了创建此自定义作业,她要求Cloud Kicks开发人员Vijay Lahiri执行这些步骤。

  1. 创建墨盒。盒式磁带是一种用于打包和部署B2C Commerce店面程序代码和数据的机制。
  2. 编写面向任务或面向块的脚本以运行流程步骤,例如读取产品记录,对其进行处理,然后将其写入数据库。
  3. 创建一个steptypes.json文件来描述自定义步骤,然后将该文件放在盒带的根目录中。
  4. 上载墨盒,并将其包括在墨盒路径中。

维杰很乐意提供帮助。

Vijay Lahiri,开发人员

完成后,琳达:

  1. 将代码复制到生产中,并激活包括新盒带的代码版本。
  2. 使用业务管理器中的自定义步骤创建作业。

面向任务的脚本模块

这将需要一些技术知识,但是Linda需要了解以下以开发人员为中心的概念和流程,以便她可以与Vijay合作,监视工作成功并计划未来需求。

面向任务的CommonJS脚本模块公开了一个功能,该功能称为作业步骤的主要功能。当Linda使用Business Manager创建作业时,她设置参数,这些参数可用作模块功能和dw.job.JobStepExecution对象的可编写脚本的对象。dw.job.JobStepExecution对象允许以只读方式访问有关当前步骤执行和作业执行的信息。

要控制退出状态,该函数可以返回dw.system.Status API对象。如果脚本以未处理的异常结束,则默认情况下,退出状态代码为ERROR,错误状态标志为true。如果没有返回状态对象并且没有发生异常,则默认情况下状态码为OK。

有关通过FTP连接然后下载数据的面向任务的脚本模块的示例,请参见 信息中心。Vijay使用此示例创建脚本模块。

面向块的脚本模块

面向块的CommonJS脚本模块读取并处理指定大小的块中的项目。如果列表中包含的项目超过了B2C Commerce可以处理的更多块,则它将启动一个新的块。面向块的脚本可以包括任何系列的处理步骤,而不仅仅是数据库事务。

使用面向块的脚本的作业步骤可进行细粒度的进度监控,因为B2C Commerce每次完成块时都会更新写入的元素数。

Vijay和Linda看了一个块处理示例。

假设您将八个订单的列表导出到一个文件中,并且一个块的大小为四个订单。脚本按此顺序处理块。

  1. 读取订单1,流程订单1,读取订单2,流程订单2,读取订单3,流程订单3,读取订单4,流程订单4
  2. 写入顺序1,写入顺序2,写入顺序3,写入顺序4
  3. 读取Order5,流程Order5,读取Order6,流程Order6,读取Order7,流程Order7,读取Order8,流程Order8
  4. 写入顺序5,写入顺序6,写入顺序7,写入顺序8

该示例以4个订单的块显示读取,处理和写入

块脚本功能

Linda在示例中注意到了三个功能。面向块的脚本模块公开了用于读取,处理和写入的功能。

  • 读取功能: 返回一项或什么都不返回。
  • 流程功能: 让您转换项目并将业务逻辑应用于它们。
  • 写功能: 接收项目列表。

您还可以在面向块的脚本模块中使用这些可选功能。

  • total-count-function: 返回在块处理开始之前可用的项目总数。
  • before-step-function: 在块步骤开始之前执行。
  • before-chunk-function: 在块开始之前执行。
  • after-chunk-function: 在块完成后执行。
  • after-step-function: 在块步骤成功完成后执行。

有关面向块的脚本模块的示例,请参见 信息中心

步骤类型文件

Vijay创建自定义步骤时,他必须创建一个steptypes.json文件来描述该步骤的元数据。该文件指定实现该步骤的脚本模块,该步骤所需的参数以及该步骤返回的退出状态。steptypes.json文件需要非常特定的语法。例如,一部分steptypes.json文件使用以下名称/值对:

"@name":"MyParameter1",
"@type":"boolean",
"@required":"true",
"description":"A required boolean parameter."

有关语法的详细信息和steptypes.json文件的示例,请参见 信息中心

对无效的steptypes.json文件进行故障排除

B2C Commerce解析并加载steptypes.json文件:

  • 服务器启动时。
  • 更改活动代码版本时。
  • 在沙盒上,每次运行步骤。

如果steptypes.json文件由于缺少属性或其他问题而包含错误,则B2C Commerce会将错误记录在错误文件中,并且不会注册自定义步骤。然后,B2C Commerce将从其他墨盒的steptypes.json文件加载步骤。

无效的steptypes.json文件导致这样的消息出现在业务管理器中:

Invalid step [Step1]! Type with id [custom.MyCustomStep1] is unknown!

注意

如果Linda导入了无效作业,则她会在导入/导出日志中得到警告,并在Business Manager中得到错误消息。如果Vijay更改steptypes.json从而创建了一个无效的作业,它将不再执行,除了作业日志中的条目外,什么也不会发生。

使用steptypes.xml

Vijay可以使用XML定义而不是JSON来定义自定义步骤。他必须调用文件steptypes.xml,并将其放在根文件夹中的自定义盒式磁带中。只要更改了活动代码版本,B2C Commerce就会解析并重新加载它。只能有一个steptypes.json或steptypes.xml文件。

下一步

在本模块中,Linda学习了如何在Cloud Kicks开发人员Vijay的帮助下创建自定义作业步骤。接下来,她学习如何创建和配置作业。

Salesforce B2C Commerce预定作业 – 探索预配置的作业步骤

学习目标

完成本单元后,您将能够:

  • 列出一些预配置的系统作业步骤。
  • 描述如何配置复制过程以在作业步骤中使用。
  • 解释为什么您可能要使用IncludeStepsFromJob系统步骤。

介绍

琳达很快就知道,没有工作步骤就没有什么工作。作业步骤是作业工作发生的地方。他们让她控制工作的实际执行情况。有两种工作步骤:系统和自定义。当她找不到能满足其要求的系统步骤时,便要求开发人员创建一个自定义步骤。

在本单元中,她专注于系统作业步骤。

系统作业步骤

这些是琳达创建作业时可以使用的即用型系统作业步骤。

系统步骤 目的
CreateSiteMap 创建一个站点地图。
ExecutePipeline(不建议使用) 执行旧版管道。不建议使用此作业步骤。我们建议您使用作业步骤重新创建管道。
ExecutePreconfiguredCodeReplicationProcess 执行代码复制过程。
ExecutePreconfiguredDataReplicationProcesss 执行数据复制过程。
ExecuteScriptModule(不建议使用) 执行脚本模块导出的功能。不建议使用此作业步骤。我们建议您创建一个自定义作业步骤来执行脚本。
出口目录 导出目录数据。
出口订单 导出订单数据。
出口价格手册 导出价格数据。
出口税表 导出税收数据。
导入目录 导入目录数据。
进口价格手册 导入价格数据。
ImportSiteArchive 将站点存档文件导入当前实例。
IncludeStepsFromJob 包括其他工作的步骤。
搜索索引 重建或更新搜索索引。
SiteExport 导出站点数据。
UndoPreconfiguredCodeReplicationProcess 撤消已经完成的预配置代码复制过程。
UndoPreconfiguredDataReplicationProcess 撤消已经完成的预配置数据复制过程。
UpdateStorefrontURLs 更新对象的店面URL,例如类别,产品,文件夹和内容资产。

如果她在工作中使用系统步骤,则无需进行任何编码。但是,她确实必须输入参数。每个作业步骤都有其自己的参数,适用于Salesforce B2C Commerce在该步骤中执行的任务。例如,当她将步骤ImportSiteArchive添加到作业时,她必须为要导入的文件的名称指定一个参数。作业步骤通常同时具有必需参数和可选参数。

现在,她深入研究系统步骤的细节。

执行或撤消代码或数据复制过程

创建作业的常见原因是管理数据或代码复制过程。为此,B2C Commerce提供了这四个系统步骤。

  • ExecutePreconfiguredCodeReplicationProcess
  • ExecutePreconfiguredDataReplicationProcess
  • UndoPreconfiguredCodeReplicationProcess
  • UndoPreconfiguredDataReplicationProcess

要使用这些复制系统步骤,Linda必须首先使用业务管理器来创建代码或数据复制过程。当她为作业步骤配置代码或数据复制过程时,她会像这样设置复制过程参数。

  • 进程ID: 输入一个有意义的名称,因为这是您用来配置作业步骤的值。
  • 类型: 对于数据复制过程,选择传输和发布。对于代码复制过程,选择“代码传输和激活”
  • 激活: 选择作业步骤

注意

仅当先前的复制过程成功后,才能执行撤消复制过程。

包括其他工作的步骤

Linda可以使用IncludeStepsFromJob系统步骤包括其他作业的步骤。在将IncludeStepsFromJob系统步骤添加到作业时,她必须配置JobID参数以指定其他作业的ID。这使得创建标准步骤集变得容易,她可以在任何时候运行这些步骤。

下一步

在本单元中,Linda了解了系统作业步骤。她还深入研究了一些系统步骤类型。接下来,她学习如何创建自定义作业步骤。

Salesforce B2C Commerce预定作业 – 了解B2C商务职位

学习目标

完成本单元后,您将能够:

  • 列出创建工作的三个原因。
  • 描述使用新作业框架的优势。
  • 解释重要的工作概念:流程,范围,锁和时间表。
  • 说明什么使工作成功。

介绍

Linda Rosenberg是高端运动鞋公司Cloud Kicks的新管理员。Linda最近掌握了许多Salesforce B2C Commerce技能,可帮助她管理Cloud Kicks店面。她本周想学习如何建立将多个任务结合在一起的复杂管理流程。最好的工具是B2C Commerce职位功能,她可以在其中安排以下任务:

  • 自动化进出口
  • 复制数据或代码
  • 建立搜寻索引
  • 执行自定义任务

Linda Rosenberg,管理员

B2C Commerce作业是一组执行长时间运行的操作的步骤,例如下载导入文件或重建搜索索引。Linda创建作业时,可以使用不需要任何编码的即用型系统作业步骤。如果没有可用的系统步骤来执行她想要的操作,则可以要求开发人员编写自定义作业步骤。

这些是使用作业的一些典型原因。

数据 应用
顾客 将客户记录导出到外部系统,如Marketing Cloud。
晋升 将促销数据导出到外部客户服务软件系统,以便致电客户服务代表(CSR)的购物者获得与在线销售相同的促销。
目录 对税收系统执行特殊的目录导出,以便税收软件知道要计算正确税收的产品类型。例如,在美国,马萨诸塞州不以一定价格对服装征税,但对电子产品征税。
目录 对Google Merchant执行特殊的目录导出,以便Google搜索结果显示产品的当前店面价格。
订购 执行自定义订单导出。一些订单管理系统不了解B2C Commerce order.xml要求。提要文件必须是定制的,并必须进行传输。

让我们开始吧。

新工作框架

Linda注意到Business Manager中的某些作业功能被标记为已弃用。

  • 职位(已弃用)
  • 作业记录(不推荐使用)

这些选项适用于较旧的B2C Commerce工作框架,她仍然可以使用该框架来管理旧工作。但是,存在一个新的和改进的工作框架,她想将其用于新工作。这是新工作框架的一些优点。

  • 您可以使用不需要编码的即用型系统步骤。
  • 开发人员可以使用其首选的IDE来创建自定义作业步骤,以编写CommonJS模块。
  • 您可以使用流程来设置作业步骤的并行执行。
  • 您可以使用Open Commerce API(OCAPI)启动和监视作业。
  • 您可以在业务管理器中监视作业的进度。

听起来不错?琳达也这么认为!她想学习如何使用这个新的工作框架。

重要的工作理念

在规划和创造工作之前,琳达需要了解这些关键概念。

  • 工作流
  • 工作范围
  • 作业锁
  • 工作时间表

工作流程

作业流程控制B2C Commerce执行作业步骤的顺序。每个作业必须至少包含一个流程。每个流程必须至少包含一个工作步骤。

Linda可以配置顺序流,一个接一个地执行。在Business Manager用户界面中,顺序流占据页面(1)的宽度,并按所示顺序从上到下执行。

要访问业务管理器,您必须具有B2C Commerce实施。在此模块中,我们假设您是B2C Commerce管理员,具有执行这些任务的适当权限。如果您不是B2C Commerce管理员,那就可以了。阅读以了解您的管理员将如何在沙盒实例中执行这些步骤。不要尝试在您的Trailhead游乐场中遵循我们的步骤。Trailhead Playground中不提供B2C Commerce。如果您具有B2C Commerce的沙盒实例,则可以在实例中尝试这些步骤。如果您没有沙箱实例,请询问您的经理是否有可以使用的实例。

“作业步骤”页面,并按顺序调出流程

Linda还可以配置可并行执行的同级流程。业务管理器彼此相邻显示同级流程(1)。

“作业步骤”页面,其中列出了一组四个同级流程

只要系统资源可用,同级流将同时运行。如果并行执行不可行(例如,当多个并行步骤需要同时访问外部资源时),她可以将兄弟流配置为顺序执行。顺序同级流程从左到右执行。

如果没有足够的可用资源,即使B2C Commerce将其配置为并行运行,也会按顺序执行同级流程。另外,某些作业步骤不支持并行执行,因此即使Linda将包含这些步骤的流程配置为并行同级流程,也始终按顺序执行。例如,B2C Commerce总是顺序执行ExecutePipeline系统步骤,该步骤支持执行遗留管道以避免数据库冲突。

当您配置一个顺序流以使其可以在多个站点上运行时(使用范围设置,Linda接下来将进行探讨),只要有足够的系统资源来容纳并行执行,B2C Commerce就会为不同站点并行执行该流。

使用同级流和顺序流,Linda可以配置具有多个流并重新合并为单个流的作业。这是一个示例:同级并行流下载目录文件,然后依次导入目录文件,接着是另一组同级并行流下载价格文件,然后又是另一个顺序流导入价格文件。这项工作可以通过重新编制索引并复制到生产的顺序流程完成。

下图显示了Linda配置三个流时发生的情况。

完成两个顺序的并行流集,然后另一个顺序的流完成。

工作流程范围

Linda必须将每个流分配给一个范围。范围可以是整个组织,也可以是一个或多个站点。默认情况下,流程为组织执行。某些作业步骤仅在特定范围内有效。例如,索引重建需要站点级范围,并且不能在组织范围内运行。

工作锁

当琳达(Linda)设置工作时,她可以为其分配某些资源。在作业执行期间,B2C Commerce锁定了该资源,而她和其他用户在作业对其执行操作时无法对其进行修改。这样可以保持数据完整性并防止数据冲突。

工作时间表

Linda可以手动运行作业,也可以安排它们在特定时间和间隔自动运行。如果同一作业的先前执行仍在运行,则该作业不会开始,因此对于她来说,重要的是要在计划作业之前了解执行作业需要花费多长时间。她安排作业的时间也很重要,这样多个作业就不要试图同时获取同一对象的锁。

通常,她可以同时执行多达15个工作。

模式

B2C Commerce的工作成功是什么?简而言之,这意味着B2C Commerce可以毫无错误地执行该工作,并且数据可以准确地按预期的位置和方式进行最终处理-例如,完全重新编制索引并可以进行店面搜索。如果作业失败,则B2C Commerce可能只完成了一部分新数据传输,结果是旧数据和新数据的混合。那就是“坏数据”。

什么是工作成功和工作失败?

作业由于其他原因而失败。通常,您将作业用于海量数据或长时间运行的操作,这些操作可能由于网络或电源波动而失败。

注意

注意

B2C Commerce会自动为已禁用站点或正在删除的站点禁用作业;禁用的作业不会出现在作业历史记录中。B2C Commerce不在沙盒实例上执行计划。

下一步

在这个部门中,Linda学习了何时使用工作以及新工作框架的优势。她还学习了一些重要的工作概念,包括流程,锁,范围和时间表。另外,她了解了使工作成功的因素。接下来,她了解工作步骤。