为什么我需要为 Queueable Apex 的每条记录设置 parentId
Why i need to set the parentId for each record for Queueable Apex
希望你在这些时候一切顺利,下面是一个常见的场景,可以获取一组 sObject 记录,执行一些处理,例如调用外部 REST 端点或执行一些计算,然后更新它们在数据库中异步。 .以下代码获取 Account 记录的集合,为每条记录设置 parentId,然后更新数据库中的记录。
我的问题是:-
A) Why i need to set the parentId for each record for Queueable Apex?
B) Why i cant use public identifier (mind you i know differences between public and private identifier :)) but why here we used private in Queueable Apex and then we have to set the values?
public class UpdateParentAccount implements Queueable {
private List<Account> accounts;
private ID parent;
public UpdateParentAccount(List<Account> records, ID id) {
this.accounts = records;
this.parent = id;
}
public void execute(QueueableContext context) {
for (Account account : accounts) {
account.parentId = parent;
// perform other processing or callout
}
update accounts;
}
}
来源:- https://trailhead.salesforce.com/en/content/learn/modules/asynchronous_apex/async_apex_queueable
父 ID 的设置是可以异步完成的任务示例。这是一个选择不当的示例,因为相同的任务 可以 在没有 Queuable 的情况下同步完成。 (如果有很多帐户记录正在更新,那么将此任务移动到异步可能是个好主意)。
Public 与私有 - 将字段设为私有是将数据封装在 class 中的最佳做法。它用于将结构化数据对象的值或状态隐藏在 class 中,从而防止直接访问它们。在 Queuable 的情况下,这有点像实用程序 class,它将在非常特定的上下文中使用,因此您可以创建变量 public 并删除构造函数。
希望你在这些时候一切顺利,下面是一个常见的场景,可以获取一组 sObject 记录,执行一些处理,例如调用外部 REST 端点或执行一些计算,然后更新它们在数据库中异步。 .以下代码获取 Account 记录的集合,为每条记录设置 parentId,然后更新数据库中的记录。
我的问题是:-
A) Why i need to set the parentId for each record for Queueable Apex?
B) Why i cant use public identifier (mind you i know differences between public and private identifier :)) but why here we used private in Queueable Apex and then we have to set the values?
public class UpdateParentAccount implements Queueable {
private List<Account> accounts;
private ID parent;
public UpdateParentAccount(List<Account> records, ID id) {
this.accounts = records;
this.parent = id;
}
public void execute(QueueableContext context) {
for (Account account : accounts) {
account.parentId = parent;
// perform other processing or callout
}
update accounts;
}
}
来源:- https://trailhead.salesforce.com/en/content/learn/modules/asynchronous_apex/async_apex_queueable
父 ID 的设置是可以异步完成的任务示例。这是一个选择不当的示例,因为相同的任务 可以 在没有 Queuable 的情况下同步完成。 (如果有很多帐户记录正在更新,那么将此任务移动到异步可能是个好主意)。
Public 与私有 - 将字段设为私有是将数据封装在 class 中的最佳做法。它用于将结构化数据对象的值或状态隐藏在 class 中,从而防止直接访问它们。在 Queuable 的情况下,这有点像实用程序 class,它将在非常特定的上下文中使用,因此您可以创建变量 public 并删除构造函数。