/
tasks_stats.go
51 lines (45 loc) · 1.66 KB
/
tasks_stats.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
package marketplace
import (
"github.com/jasonlvhit/gocron"
)
func CronStaffSupportTicketStats(interval string) {
sItems, err := StaffSupportTicketsResolutionStats(interval)
if err != nil {
return
}
EventStaffSupportTicketsResolutionStats(interval, sItems)
}
func CronUsersStats(interval string) {
var (
numberOfNewUsers = NumberOfNewUsersStats(interval)
numberOfActiveUsers = NumberOfActiveUsersStats(interval)
)
EventUsersStats(interval, numberOfNewUsers, numberOfActiveUsers)
}
func CronTransactionsStats(interval string) {
var (
numberOfNewTransactions = NumberOfNewTransactionsStats(interval)
numberOfCompletedTransactions = NumberOfCompletedTransactionsStats(interval)
numberOfReleasedTransactions = NumberOfReleasedTransactionsStats(interval)
numberOfFailedTransactions = NumberOfFailedTransactionsStats(interval)
numberOfCancelledTransactions = NumberOfCancelledTransactionsStats(interval)
numberOfFrozenTransactions = NumberOfFrozenTransactionsStats(interval)
)
EventTransactionsStats(
interval,
numberOfNewTransactions,
numberOfCompletedTransactions,
numberOfReleasedTransactions,
numberOfFailedTransactions,
numberOfCancelledTransactions,
numberOfFrozenTransactions,
)
}
func StartStatsCron() {
gocron.Every(1).Day().At("00:00").Do(CronStaffSupportTicketStats, "1 day")
gocron.Every(1).Day().At("00:00").Do(CronTransactionsStats, "1 day")
gocron.Every(1).Day().At("00:00").Do(CronUsersStats, "1 day")
gocron.Every(1).Monday().At("00:00").Do(CronStaffSupportTicketStats, "7 days")
gocron.Every(1).Monday().At("00:00").Do(CronTransactionsStats, "7 days")
gocron.Every(1).Monday().At("00:00").Do(CronUsersStats, "7 days")
}