71 lines
2.1 KiB
Python
71 lines
2.1 KiB
Python
# -*- coding: utf-8 -*-
|
|
from ops.mmysql import MysqlBase
|
|
import logging
|
|
from multiprocessing import Pool, cpu_count
|
|
import datetime
|
|
from real_task.tasks_base_real import *
|
|
from config.config_real import *
|
|
import sys
|
|
from ops.plog import define_logger
|
|
|
|
define_logger("/data/logs/data_collect_real.log")
|
|
log = logging.getLogger(__name__)
|
|
|
|
|
|
def get_event():
|
|
sql = f"""SELECT gameid,channelid,method_name FROM methods WHERE in_used=1"""
|
|
db = MysqlBase(**DB)
|
|
data = db.query(sql)
|
|
events = []
|
|
if data:
|
|
for line in data:
|
|
if line:
|
|
events.append(line)
|
|
return events
|
|
|
|
|
|
def run_tasks():
|
|
# args = get_event()
|
|
args = ((1004, 6001, 'user'), (1016, 6001, 'share'))
|
|
pool = Pool(processes=cpu_count())
|
|
pool.map(simple_work, args)
|
|
pool.close()
|
|
pool.join()
|
|
|
|
|
|
class CollectGameData():
|
|
def __init__(self, times, b_time, e_time):
|
|
self.times = times
|
|
self.b_time = b_time
|
|
self.e_time = e_time
|
|
|
|
|
|
def workflow(self, line):
|
|
kwargs = {}
|
|
kwargs['gameid'], kwargs['channelid'], kwargs['event_type'] = line
|
|
kwargs['date'] = self.times
|
|
kwargs['b_time'] = self.b_time
|
|
kwargs['e_time'] = self.e_time
|
|
#print(f"1 {kwargs}")
|
|
func = f"real_event_{kwargs['event_type']}(kwargs)"
|
|
log.info(f"run {func} kwargs={kwargs}!")
|
|
eval(func)
|
|
|
|
|
|
def simple_work(line):
|
|
times = (datetime.date.today() - datetime.timedelta(days=1)).strftime('%Y-%m-%d')
|
|
b_time = (datetime.datetime.now() - datetime.timedelta(minutes=120)).strftime('%Y-%m-%d %H:%M:%S')
|
|
e_time = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
|
|
cc = CollectGameData(times, b_time, e_time)
|
|
cc.workflow(line)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
run_tasks()
|
|
# times = (datetime.date.today() - datetime.timedelta(days=1)).strftime('%Y-%m-%d')
|
|
# b_time = (datetime.datetime.now() - datetime.timedelta(minutes=120)).strftime('%Y-%m-%d %H:%M:%S')
|
|
# e_time = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
|
|
# for item in ((1004, 6001, 'user'), (1016, 6001, 'share')):
|
|
# cc = CollectGameData(times, b_time, e_time)
|
|
# cc.workflow()
|