I am writing some code to submit multiple jobs to a job scheduler.
The code:
def submit_copasi_job_SGE[self,run_script_name,copasi_file,new_report_name]:
CT=Cluster_Tools[] #initialize a custom class
CT.change_scan_report_name[copasi_file,new_report_name] # use a custom function
with open[run_script_name+'.sh','w'] as f: #write a .sh script for submission to the job scheduler
f.write['#!/bin/bash\n#$ -V -cwd\nmodule add apps/COPASI\nCopasiSE {}'.format[copasi_file]]
os.system['qsub {}'.format[run_script_name]] # submit to the job scheduler
os.remove[run_script_name] # remove the run script
def submit_multi_copasi_job_SGE[self,run_script_name,copasi_file,new_report_name,n]:
CT=Cluster_Tools[] #initialize custom class
run_script_vec=[] #create a numbered list of run script names
for i in range[n]:
run_script_vec.append[run_script_name+'_'+str[i]]
print run_script_vec
for i in run_script_vec: #iterate over the run scripts with the previously defined function
CT.submit_copasi_job_SGE[i,copasi_file,new_report_name+str[i]]
The first part will submit a job to the job scheduler. This is tested and it works. Now however I am trying to write a function to iterate over the first function to submit the same job multiple times [with different output file names, hence the 'change_scan_report_name' bit of the first function].
The error I get is the following:
File "/home/b3053674/Models/Retinoic_Acid/Fit5/Copasi_Tools.py", line 307, in submit_copasi_job_SGE
os.remove[run_script_name]
OSError: [Errno 2] No such file or directory: '/home/b3053674/Models/Retinoic_Acid/Fit5/run_0.sh'
I suspect this is a logic problem, but i'm baffled and think this should work. Can anybody spot the bug?
Chắc hẳn cronjob đã không còn xa lạ gì với dân dev như chúng ta, hôm nay mình xin giới thiệu việc quản lý các cronjob ứng dụng trong dự án python với package python-crontab.
Nội dung chính ShowShow
- 1. Crontab là gì
- 2. Cú pháp trong crontab
- 3. Cài đặt
- 4. Truy cập vào Crontab
- 5. Tạo cronjob mới
- 6. Cập nhật một job Cron hiện có
- 7. Xóa job khỏi Crontab
- 8. Kiểm tra lịch job
- 9. Đặt giới hạn
- 10. Enabling and Disabling a Job
1. Crontab là gì
2. Cú pháp trong crontab
3. Cài đặt
4. Truy cập vào Crontab
2. Cú pháp trong crontab
3. Cài đặt
4. Truy cập vào Crontab
5. Tạo cronjob mới
Minute Hour Day Month Day_of_the_Week
┌───────────── minute [0 - 59]
│ ┌───────────── hour [0 - 23]
│ │ ┌───────────── day of month [1 - 31]
│ │ │ ┌───────────── month [1 - 12]
│ │ │ │ ┌───────────── day of week [0 - 6] [Sunday to Saturday;
│ │ │ │ │ 7 is also Sunday on some systems]
│ │ │ │ │
│ │ │ │ │
* * * * * command to execute
6. Cập nhật một job Cron hiện có
7. Xóa job khỏi Crontab
8. Kiểm tra lịch job
9. Đặt giới hạn
- Trong quá trình quản trị hệ thống, cần phải thực hiện các background jobs trên máy chủ để thực hiện các tác vụ thông thường. Cron là một quá trình hệ thống được sử dụng để thực hiện các background tasks trên cơ sở thường xuyên. Cron yêu cầu một tệp có tên là crontab chứa danh sách các tác vụ được thực thi tại một thời điểm cụ thể. Tất cả các job này được thực hiện trong background tại thời điểm quy định.
- Cron là một tiện ích phần mềm cho phép chúng ta lên lịch các tác vụ trên các hệ thống giống Unix. Tên này bắt nguồn từ từ tiếng Hy Lạp "Chronos", có nghĩa là "thời gian". Các task trong Cron được định nghĩa trong một crontab, là một tệp văn bản chứa các lệnh được thực hiện.
3. Cài đặt
pip install python-crontab
4. Truy cập vào Crontab
from crontab import CronTab
4. Truy cập vào Crontab
5. Tạo cronjob mới
6. Cập nhật một job Cron hiện có
cron = CronTab[user='username']
# or
cron = CronTab[]
# or
cron = CronTab[user=True]
7. Xóa job khỏi Crontab
cron = CronTab[tabfile='filename.tab']
cron = CronTab[tab="""* * * * * command"""]
5. Tạo cronjob mới
6. Cập nhật một job Cron hiện có
import datetime
with open['dateInfo.txt','a'] as outFile:
outFile.write['\n' + str[datetime.datetime.now[]]]
7. Xóa job khỏi Crontab
from crontab import CronTab
my_cron = CronTab[user='nguyenchithanh']
job = my_cron.new[command='python /home/writeDate.py']
job.minute.every[1]
my_cron.write[]
8. Kiểm tra lịch job
python scheduleCron.py
9. Đặt giới hạn
6. Cập nhật một job Cron hiện có
7. Xóa job khỏi Crontab
File "/home/b3053674/Models/Retinoic_Acid/Fit5/Copasi_Tools.py", line 307, in submit_copasi_job_SGE
os.remove[run_script_name]
OSError: [Errno 2] No such file or directory: '/home/b3053674/Models/Retinoic_Acid/Fit5/run_0.sh'
08. Kiểm tra lịch job
File "/home/b3053674/Models/Retinoic_Acid/Fit5/Copasi_Tools.py", line 307, in submit_copasi_job_SGE
os.remove[run_script_name]
OSError: [Errno 2] No such file or directory: '/home/b3053674/Models/Retinoic_Acid/Fit5/run_0.sh'
17. Xóa job khỏi Crontab
pip install python-crontab
08. Kiểm tra lịch job
pip install python-crontab
18. Kiểm tra lịch job
9. Đặt giới hạn
pip install python-crontab
2Trong quá trình quản trị hệ thống, cần phải thực hiện các background jobs trên máy chủ để thực hiện các tác vụ thông thường. Cron là một quá trình hệ thống được sử dụng để thực hiện các background tasks trên cơ sở thường xuyên. Cron yêu cầu một tệp có tên là crontab chứa danh sách các tác vụ được thực thi tại một thời điểm cụ thể. Tất cả các job này được thực hiện trong background tại thời điểm quy định.
9. Đặt giới hạn
Trong quá trình quản trị hệ thống, cần phải thực hiện các background jobs trên máy chủ để thực hiện các tác vụ thông thường. Cron là một quá trình hệ thống được sử dụng để thực hiện các background tasks trên cơ sở thường xuyên. Cron yêu cầu một tệp có tên là crontab chứa danh sách các tác vụ được thực thi tại một thời điểm cụ thể. Tất cả các job này được thực hiện trong background tại thời điểm quy định.
pip install python-crontab
3Chúng tôi cũng có thể thiết lập nhiệm vụ để chạy vào những ngày nhất định trong tuần
pip install python-crontab
4Một điều quan trọng cần xem xét là mỗi khi chúng tôi đặt ra giới hạn thời gian, chúng tôi sẽ hủy bỏ giới hạn trước đó
pip install python-crontab
5Trừ khi, chúng tôi thêm lịch biểu vào lịch trước đó
pip install python-crontab
610. Enabling and Disabling a Job
Để bật job:
pip install python-crontab
7Để tắt job:
pip install python-crontab
8#11. Kiểm tra hiệu lực và tìm kiếm xác thực
pip install python-crontab
9Tìm kiếm :
from crontab import CronTab
0nguồn: //stackabuse.com/scheduling-jobs-with-python-crontab/,
//code.tutsplus.com/tutorials/managing-cron-jobs-using-python--cms-28231