用户工具

站点工具


This document is valid for Version 0.7 of Cobub Razor.

Cobub Razor Scheduled Task

This document is valid for Version 0.7 of Cobub Razor. Check out the release note

1 Overview

In Cobub Razor, user must setup the scheduled tasks on server so that data can automatically be processed from original database to data warehouse. All the mobile analytics reports are built from data warehouse. To automatically run the Cobub Razor scheduled task, user can setup scripts which executed by task scheduler.

The instructions below show users how to schedule task Under Linux/Unix systems, and also for Windows. There are five tasks to do scheduled for reports:

  1. runHourly – Do ETL from production database to data warehouse and generate reports for last hour.
  2. runDaily – Generate daily access path report. Must schedule at the second day.
  3. runWeekly – Generate weekly reports. Must schedule at Sunday.
  4. runMonthly – Generate monthly reports. Must schedule at the first day of a month.
  5. runLaterData – Generate data which posted from client later(later data is usually caused by Time zone or batch policy set on client).

Important Tips to Schedule the Task:

  1. archiveHourly – hourly task can be scheduled at 10 minutes of every hour.
  2. archiveUsingLog – daily task must be scheduled one time per day.
  3. archiveWeekly – the parameters of weekly task must be Sunday(the first day of last week) and Saturday(the last day of last week). It can be scheduled weekly task at 00:30 on every new week’s Sunday.
  4. archiveMonthly – the parameters of monthly task should be the first day of last month and the last day of last month. And scheduled at the first day of the new month’s midnight, such as 02:30.
  5. archiveLaterData – later data processing should be scheduled at every day. Such as 01:30

2 Scheduled tasks in Linux/Unix

The cron is time-based job scheduler in Unix-like computer operating systems. cron enables users to schedule jobs(commands or shell scripts) to run periodically at certain time or dates.

2.1 Prepare script files

Firstly, create five scripts files and put them into one folder (take /var/www/cron as example):

  1. razor_hourly_archive.sh
  2. razor_weekly_archive.sh
  3. razor_monthly_archive.sh
  4. razor_laterdata_archive.sh
  5. razor_daily_archive.sh

And please make sure the .sh file has execute rights. If no execute rights, please run

sudo chown +x *.sh

razor_hourly_archive.sh file

#!/bin/bash
php /usr/share/nginx/razor/index.php archive archiveHourly

razor_weekly_archive.sh file

#!/bin/bash
php /usr/share/nginx/razor/index.php archive archiveWeekly

razor_monthly_archive.sh file

#!/bin/bash
php /usr/share/nginx/razo/index.php archive archiveMonthly

razor_laterdata_archive.sh file

#!/bin/bash
php /usr/share/nginx/razor/index.php archive archiveLaterData

razor_daily_archive.sh file

#!/bin/bash
php /usr/share/nginx/razorindex.php archive archiveUsingLog

2.2 Crontab settings

The Crontab requires php-cli or php-cgi installed, so please confirm it firstly. Then, user can use SSH or Putty to access to server to config crontab, and input the below command in shell:

crontab -e

and then add the following lines:

# System will execute scriptonce every hour and at the fifth minute of the hour.
5 * * * * /var/www/cron/razor_hourly_archive.sh
# System will execute script once at 1:00 every day.
0 1 * * * /var/www/cron/razor_daily_archive.sh
# System will execute scriptonce at 0:30 every Sunday.
30 0 * * 0 /var/www/cron/razor_weekly_archive.sh
# System will execute scriptonceat 0:30 in the first day of every month.
30 0 1 * * /var/www/cron/razor_monthly_archive.sh
# System will execute scriptonce at 1:30 every day.
30 1 * * * /var/www/cron/razor_laterdata_archive.sh

Save and exit, then restart cron to enable the schedule

/etc/init.d/cron restart

3 Scheduled tasks in Windows

3.1 Create scheduled tasks

To open the task sc heduler on Windows (XP, 7, 2003/2008 Server), click All Programs, point to Accessories, point to System Tools, and then click Scheduled Tasks. Click ‘Add Scheduled Task’ and name the task e.g. “Razor Hourly Archive”. Schedule the task as following.

3.2 scheduled tasks settings

If php.exe has b een added to PATH of System Environment Variable, please use php in the command. Otherwise, please give the detail directory of php.exe, for example, D:\xampp\php\php.exe. For the below instructions, “D:\xampp\htdocs\razor\index.php” is the example directory of Cobub Razor on web server.

1. Hourly Archive Task Open “Razor Hourly Archive” task, in the “Task” tab, input following comand in “Run”:

php "D:\xampp\htdocs\razor\web\index.php" archive archiveHourly

Every 10 minutes from each hour, this hourly task should be run. This is configured in “Schedule” tab:

2. Weekly Archive Task

Run

php "D:\xampp\htdocs\razor\web\index.php" archive archiveWeekly

Every week’s 12:20 will start the weekly task:

3. Monthly Archive Task

Run:

php "D:\xampp\htdocs\razor\web\index.php" archive archiveMonthly

Every month’s 01:20 will start the weekly task:

4. LaterData Archive Task

php "D:\xampp\htdocs\razor\web\index.php" archive archiveLaterData

5. Daily Archive Task

php "c:\xampp\htdocs\razor\web\index.php" archive archiveUsingLog

4 Web Cron

If user can do cron on server, w e highly recommend running a cron or scheduled task on it. However, on some shared hosting, or on special server configurations, users are not allowed to run a cron or schedule task. User can find some online web cron service, which is simple URL that the hosts will automatically visit at a scheduled time. If user want use a web cron, please input the following URL in their hosting interface:

http://server_url/index.php?/archive/archiveHourly

http://server_url/index.php?/archive/archiveWeekly

http://server_url/index.php?/archive/archiveMonthly

http://server_url/index.php?/archive/archiveLaterData

http://server_url/index.php?/archive/archiveUsingLog

* server_url is the root url of user’s installed Cobub Razor.

5 Next Step – Configuration

In order to make more functions in Cobub Razor available, user can visit:

en/razor/auto-archiving.txt · 最后更改: 2017/07/14 11:18 (外部编辑)