71513: Card tokenization [upgrade implemented]
[freeside.git] / FS / FS / Cron / cleanup.pm
1 package FS::Cron::cleanup;
2 use base 'Exporter';
3 use vars '@EXPORT_OK';
4 use FS::queue;
5 use FS::Record qw( qsearch );
6
7 @EXPORT_OK = qw( cleanup cleanup_before_backup );
8
9 # start janitor jobs
10 sub cleanup {
11   my %opt = @_;
12
13   # fix locations that are missing coordinates
14   my $job = FS::queue->new({
15       'job'     => 'FS::cust_location::process_set_coord',
16       'status'  => 'new'
17   });
18   $job->insert('_JOB');
19
20   # check card number tokenization
21   $job = FS::queue->new({
22       'job'     => 'FS::cust_main::Billing_Realtime::token_check',
23       'status'  => 'new'
24   });
25   $job->insert(
26     %opt,
27     'queue' => 1,
28     'daily' => 1,
29   );
30
31 }
32
33 sub cleanup_before_backup {
34   #remove outdated cacti_page entries
35   foreach my $export (qsearch({
36     'table' => 'part_export',
37     'hashref' => { 'exporttype' => 'cacti' }
38   })) {
39     $export->cleanup;
40   }
41   #remove cache files
42   my $deldir = "$FS::UID::cache_dir/cache.$FS::UID::datasrc/";
43   unlink <${deldir}.invoice*>;
44   unlink <${deldir}.letter*>;
45   unlink <${deldir}.CGItemp*>;
46 }
47
48 1;