Python脚本每月在特定时间和日期发送邮件

时间:2015-08-19 12:46:19

标签: python scheduled-tasks

我希望每个月的第二个星期五下午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
  }
}

2 个答案:

答案 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,并为您提供许多其他工具,例如登录和界面,这些工具应使您的脚本可扩展(适用于更多用户,任务等)