blob: 2a066af331cf48f59c65be4e527df1be129c7b10 [file] [log] [blame]
Rushabh Mehta3966f1d2012-02-23 12:35:32 +05301# ERPNext - web based ERP (http://erpnext.com)
2# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
3#
4# This program is free software: you can redistribute it and/or modify
5# it under the terms of the GNU General Public License as published by
6# the Free Software Foundation, either version 3 of the License, or
7# (at your option) any later version.
8#
9# This program is distributed in the hope that it will be useful,
10# but WITHOUT ANY WARRANTY; without even the implied warranty of
11# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12# GNU General Public License for more details.
13#
14# You should have received a copy of the GNU General Public License
15# along with this program. If not, see <http://www.gnu.org/licenses/>.
16
Anand Doshi486f9df2012-07-19 13:40:31 +053017from __future__ import unicode_literals
Rushabh Mehta1a355742012-02-23 11:46:28 +053018"""will be called by scheduler"""
19
20import webnotes
Anand Doshif9e4b162012-02-28 11:31:46 +053021from webnotes.utils import scheduler
Rushabh Mehta1a355742012-02-23 11:46:28 +053022
23def execute_all():
Anand Doshif9e4b162012-02-28 11:31:46 +053024 """
25 * get support email
26 * recurring invoice
27 """
Rushabh Mehtaf0018b52012-08-02 18:03:12 +053028 # pull emails
Rushabh Mehta133d7522013-01-15 14:17:31 +053029 from support.doctype.support_ticket.get_support_mails import get_support_mails
Rushabh Mehtaf0018b52012-08-02 18:03:12 +053030 run_fn(get_support_mails)
Rushabh Mehta3169ef02013-01-15 17:23:23 +053031
32 from hr.doctype.job_applicant.get_job_applications import get_job_applications
33 run_fn(get_job_applications)
Rushabh Mehta2e5db352013-01-16 11:34:26 +053034
35 from selling.doctype.lead.get_leads import get_leads
Rushabh Mehta1a0b27e2013-01-16 12:36:07 +053036 run_fn(get_leads)
Rushabh Mehta2e5db352013-01-16 11:34:26 +053037
Rushabh Mehtaf0018b52012-08-02 18:03:12 +053038 from webnotes.utils.email_lib.bulk import flush
39 run_fn(flush)
Rushabh Mehta1a355742012-02-23 11:46:28 +053040
41def execute_daily():
Rushabh Mehtaf0018b52012-08-02 18:03:12 +053042 # email digest
43 from setup.doctype.email_digest.email_digest import send
44 run_fn(send)
45
Rushabh Mehta48f5f402012-08-06 14:19:11 +053046 # run recurring invoices
Anand Doshi420e1b42012-11-30 15:11:12 +053047 from accounts.doctype.sales_invoice.sales_invoice import manage_recurring_invoices
Rushabh Mehta48f5f402012-08-06 14:19:11 +053048 run_fn(manage_recurring_invoices)
49
Rushabh Mehtaf0018b52012-08-02 18:03:12 +053050 # send bulk emails
Rushabh Mehta52006ca2012-08-03 14:15:25 +053051 from webnotes.utils.email_lib.bulk import clear_outbox
Rushabh Mehtaf0018b52012-08-02 18:03:12 +053052 run_fn(clear_outbox)
Anand Doshif9e4b162012-02-28 11:31:46 +053053
Rushabh Mehta20250842013-03-07 12:25:21 +053054 # daily backup
55 from setup.doctype.backup_manager.backup_manager
56 take_backups_daily()
57
Anand Doshif9e4b162012-02-28 11:31:46 +053058def execute_weekly():
Rushabh Mehta20250842013-03-07 12:25:21 +053059 from setup.doctype.backup_manager.backup_manager
60 take_backups_weekly()
Anand Doshif9e4b162012-02-28 11:31:46 +053061
62def execute_monthly():
63 pass
64
65def execute_hourly():
66 pass
Rushabh Mehtaf0018b52012-08-02 18:03:12 +053067
68def run_fn(fn):
69 try:
70 fn()
71 except Exception, e:
72 scheduler.log(fn.func_name)