我希望每个月的第二个星期五下午4点发送邮件。我们将如何在python中做。我知道以下逻辑效率不高,还有其他方法吗 python ?
//第二个星期五和下午4点检查的伪代码。
function(Day='Fri',Time='4:00 p.m.')
while(1){
String current_date=new date();// This will in following formate.
// Fri Aug 21 2015 16:00:00 GMT+0530 (IST).
// Here we can see that it is combination of Date, Day and time.
//Now this is the current_date is string so search the sub string 'Fri'
if(current_date.substring('Fri') && current_date.substring('16:00:00')){
// Now search for this date is 2nd Friday or not,
int day=current_date.getDay();
if(day>7 && day<=13)
start_script to send mail
}
}
答案 0 :(得分:2)
您可以使用python-crontab
模块。
https://pypi.python.org/pypi/python-crontab
以下是如何使用它:
from crontab import CronTab
#Initialize Cron
cron = CronTab()
#Add your jobs
job = cron.new(command='/usr/bin/echo')
#Set period
job.hour.every(4)
或者,您可以使用crontab -e
并点击此链接:http://adminschoice.com/crontab-quick-reference
答案 1 :(得分:1)
您可以使用Celery定期任务来自动执行此操作。请看这里http://celery.readthedocs.org/en/latest/userguide/periodic-tasks.html
Celery将代表您处理cron,并为您提供许多其他工具,例如登录和界面,这些工具应使您的脚本可扩展(适用于更多用户,任务等)