abaqus分析計畫任務的批處理執行,基於windows的批處理檔案的實現和基於python指令碼的實現,大家應該都很熟悉了,通過事先編譯好的指令碼檔案來批處理計畫任務,簡單示例如下:
windows 批處理檔案 (.bat)示例:
abaqus job=test1 cpus=4 intabaqus job=test2 cpus=4 int
python 批處理檔案 (.py)示例:
jobs=['test1','test2',...] for job in jobs: mdb.jobfrominputfile(name=job,inputfilename=job+'.inp', numcpus=4,numdomains=4) mdb.jobs[job].submit() mdb.jobs[job].waitforcompletion()
但是工作中也會有一種計畫之外的狀況,例如正在執行的時候有緊急新增的分析任務,預計當前分析在晚間可以結束,希望當前任務結束後可以定時執行新增分析任務,高效利用計算資源,此時就需要實現分析任務的定時執行。
如何設定定時任務的執行,基於windows批處理檔案和python指令碼的實現方式分別簡述如下:
windows批處理檔案 (.bat)聯合計畫任務定時執行示例:
先編譯批處理檔案 task.bat:
cd c:/tempabaqus job=test1 cpus=4 intabaqus job=test2 cpus=4 int
再建立計畫任務jobs:可通過windows管理工具計畫任務程式建立,也可在命令提示符(command)介面通過schtasks命令建立。
如上圖所示,我們通過schtasks(管理計畫任務)命令建立了乙個名為jobs僅執行一次的計畫任務,在指定時間14:35會定時執行 c:/temp/task.bat的任務。
python 的計畫任務執行檔案 (.py)示例:
也可用python自帶庫中sched來實現分析任務的定時執行:
編譯好的批處理指令碼(task.py)如下:
from abaqus import *from abaqusconstants import *def timedtask(): jobs=['test1','test2'] for job in jobs: mdb.jobfrominputfile(name=job,inputfilename=job+'.inp', numcpus=4,numdomains=4,numgpus=0) mdb.jobs[job].submit() mdb.jobs[job].waitforcompletion()
增加定時任務執行指令碼(timertask.py)如下:
import timeimport schedfrom task import timedtaskschedule = sched.scheduler ( time.time, time.sleep )#第乙個引數是乙個可以返回時間戳的函式,第二個引數可以在定時未到達之前阻塞。schedule.enter(300,0,timedtask,())#加入排程事件schedule.run()#執行
如上實現了乙個時間排程程式,指定任務task.py將在300秒後執行;
通過scheduler.enter(delay,priority,func,args)函式將任務加入到任務佇列裡,當指定的時間到了,就會執行任務(func函式)。
定時執行任務
在windows上,使用configuration task scheduler 任務計畫程式 task scheduler library 任務計畫程式庫 create task.或者 control panel scheduled tasks add a scheduled task.在linu...
定時執行任務
spring中可以通過配置方便的實現週期性定時任務管理,這需要用到以下幾個類 org.springframework.schedu ling.quartz.methodinvokingjobdetailfactorybean 配置需要排程的bean的某個方法 org.springframework....
spring quartz定時執行任務
首先是spring配置檔案 timetask 0 0 23 執行的那個類和方法我就不寫了,自己隨便寫個簡單的測試就可以了 下面是執行主方法 public class testtimer description 方法實現功能描述 param args void throws 丟擲異常說明 public...