Job Queue 用于在指定时间处理batch任务和codeunits. NAS从Job Queue 中读取数据,然后决定下一步做什么工作. 这个可以来由几个参数来决定
前提条件Prerequisites
在你设置和执行Job Queue之前, 你必须要:
1. 安装 Microsoft Dynamics NAV 5.0
2. 安装Microsoft Dynamics NAV Application Server
a. 确保NAV Application Server service在NAV上和SQL Server上注册了用户,如果SQL Server是NAV的数据库服务器的话。
b. NAS的起动参数:<jobqueue>
3. 创建你的Job Queue Entries (查看Job Queue使用案例here)
4. 起动Job Queue
Create a Job Queue Entry 创建一个Job Queue
窗口在图x-1中的Job Queue Entry Card 显示了一个实际的任务. 它可以是单例或者是重复性的任务.因此在这个窗口中有两个Tab: General and Recurrence.
通过Job Queue Entry Card,可以设置起动一项任务的各种限制条件。如果需要做一些限制,就在Maximum No. of Attempts 域输入值以做出限制. No. of Attempts to Run 域表明这个Job可以试图运行的次数. 另外,Job什么时候应该起动的时间间隔在Earliest Start Date/Time 域中设置.
Figure x-1: Job Queue Entry Card
Status 有如下状态:
· Ready
· On hold
· In process
· Error
如果Job运行成功,它就会从Job Queue Entries Card 窗口中移除,除非它是一个重复性的Job.
在Job Queue Entries Card 上的Recurrence标签 用于设置每一个Job Queue Entry的重复情况.
在修改Job Queue Entry Card上修改不同设置之前,Job Queue Entry的管理员应该把Job Queue设置到On Hold 。一旦Job Queue Entry的管理员设置好Job Queue Entry,Reset Status 就会起动这个Job(Once the Job Queue Entry administrator is done with the setup of a Job Queue Entry the Reset Status will activate the job.).
Figure x-2: Job Queue Entry Card – Reset status
在recurrence标签上,任务可以被设置到特定的某个星期中的哪天。
Job Queue Entries List 会列出所有的目前的Job Queue. 这个窗口在图figure x-3中. 可以到:
Figure x-3: Job Queue Entry List
Job Queue Entry List 除了显示Object ID 外,也显示了Job的Status, 起动Job的用户的 User ID . 如果状态是Ready的话,NAS就会按时间运行设定的Job. NAS会根据 Earliest Start Date/Time 和 Priority. 来运行罗列的Job. 当Job运行的时候,它就会列在Job Queue Processes窗口中,如图 figure x-4.
Figure x-4: Job Queue Processes window
The Job Queue Log Entries 显示了一直以来有运行过的Job列表.
Figure x-5: Job Queue Log Entries
The Job Queue Log Entries 也会显示Job Queue Entries 运行有错的任何错误消息。每一行代表了一个Job Queue Entry. 如果 Job Queue Entries 中的Job运行过程中出错,错误消息就会被列在Job Queue Log Entries的最后一列. 错误消息的限制是1000字符以内.
起动Job Queue
Job Queue 功能在 Job Queue Setup 窗口中开关设置。Tick上它就可以起动Job Queue.
Figure x-6: The Job Queue Setup
你现在就可以在Microsoft Dynamics NAV 5.0中设置CodeUnits和Report的Job Queue了.
Martin Nielander
Program Manager