2

我正在使用CLIq并安排了一个应该每 x 小时运行一次的任务。我的问题是我的 SOQL 查询从数据库中获取所有项目,我只需要提取在过去 x 小时内更新的内容。我怎样才能将我的查询限制在这个范围内?

这是我的 process-config.xml 文件。

<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
    <bean id="AMP_AIMS" class="com.salesforce.dataloader.process.ProcessRunner" singleton="false">
        <description>Created by Dataloader Cliq.</description>
        <property name="name" value="AMP_AIMS"/>
        <property name="configOverrideMap">


            <map>
                <entry key="dataAccess.name" value="...\AMP_AIMS\write\AMP_AIMS.csv"/>
                <entry key="dataAccess.readUTF8" value="true"/>
                <entry key="dataAccess.type" value="csvWrite"/>
                <entry key="dataAccess.writeUTF8" value="true"/>
                <entry key="process.enableExtractStatusOutput" value="true"/>
                <entry key="process.enableLastRunOutput" value="true"/>
                <entry key="process.lastRunOutputDirectory" value="...\AMP_AIMS\log"/>
                <entry key="process.operation" value="extract"/>
                <entry key="process.statusOutputDirectory" value="...\AMP_AIMS\log"/>
                <entry key="sfdc.bulkApiCheckStatusInterval" value="5000"/>
                <entry key="sfdc.bulkApiSerialMode" value="5000"/>
                <entry key="sfdc.debugMessages" value="false"/>
                <entry key="sfdc.enableRetries" value="true"/>
                <entry key="sfdc.endpoint" value="https://test.salesforce.com/services/Soap/u/24.0"/>
                <entry key="sfdc.entity" value="Agency_Profile__c"/>
                <entry key="sfdc.extractionRequestSize" value="500"/>
                <entry key="sfdc.extractionSOQL" value="Select a.Total_Annual_Sales__c, a.Market_Specialties__c, a.Market_Focus__c,  a.Destination_Specialties__c, a.CreatedDate, a.Agency_Website__c, a.Agency_Business_Email__c From Agency_Profile__c a"/>
                <entry key="sfdc.insertNulls" value="false"/>
                <entry key="sfdc.loadBatchSize" value="100"/>
                <entry key="sfdc.maxRetries" value="3"/>
                <entry key="sfdc.minRetrySleepSecs" value="2"/>
                <entry key="sfdc.noCompression" value="false"/>
                <entry key="sfdc.password" value="blabla"/>
                <entry key="sfdc.proxyHost" value=""/>
                <entry key="sfdc.proxyNtlmDomain" value=""/>
                <entry key="sfdc.proxyPassword" value=""/>
                <entry key="sfdc.proxyPort" value=""/>
                <entry key="sfdc.proxyUsername" value=""/>
                <entry key="sfdc.timeoutSecs" value="60"/>
                <entry key="sfdc.useBulkApi" value="false"/>
                <entry key="sfdc.username" value="bla"/>
            </map>
        </property>
    </bean>
</beans>
4

1 回答 1

1

过去我对类似的事情很好:

SELECT Total_Annual_Sales__c, Market_Specialties__c, Market_Focus__c,  Destination_Specialties__c, CreatedDate, Agency_Website__c, Agency_Business_Email__c
FROM Agency_Profile__c
WHERE LastModifiedDate = TODAY AND HOUR_IN_DAY(LastModifiedDate) > 9

你会安排它在 12 点运行,然后在下午 3 点运行类似的...

仍然不理想,因为如果您想要赶上其中一次运行失败...所以围绕加载程序编写一些脚本以节省最后一次成功运行的时间对于故障安全解决方案是必要的。

于 2012-10-30T13:21:12.587 回答