~~Title:Cobub Razor Scheduled Task - Mobile Apps Marketing Platform of Open Source - Mobile Analytics & Mobile Push Notification Solutions - Cobub Mobile Developer Center~~ {{description>Cobub Razor is an Open Source Mobile Analytics. In Cobub Razor, user must setup the scheduled tasks on server so that data can automatically be processed from original database to data warehouse.}} {{keywords>Cobub Razor,open source mobile analytics,mobile analytics,mobile app analytics, scheduled task}} ====== Cobub Razor Scheduled Task ====== This document is valid for Version 0.7 of Cobub Razor. Check out the [[en:razor:release-note|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: - runHourly – Do ETL from production database to data warehouse and generate reports for last hour. - runDaily – Generate daily access path report. Must schedule at the second day. - runWeekly – Generate weekly reports. Must schedule at Sunday. - runMonthly – Generate monthly reports. Must schedule at the first day of a month. - 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: - archiveHourly – hourly task can be scheduled at 10 minutes of every hour. - archiveUsingLog – daily task must be scheduled one time per day. - 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. - 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. - 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): - razor_hourly_archive.sh - razor_weekly_archive.sh - razor_monthly_archive.sh - razor_laterdata_archive.sh - 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. {{:en:razor:20150915000.png}} Click ‘Add Scheduled Task’ and name the task e.g. “Razor Hourly Archive”. Schedule the task as following.{{:en:razor:20150915001.png}} ==== 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: {{:en:razor:20150915002.png}} {{:en:razor:20150915003.png}} **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: {{:en:razor:20150915004.png}} **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: {{:en:razor:20150915005.png}} **4. LaterData Archive Task** php "D:\xampp\htdocs\razor\web\index.php" archive archiveLaterData {{:en:razor:20150915006.png}} **5. Daily Archive Task** php "c:\xampp\htdocs\razor\web\index.php" archive archiveUsingLog {{:en:razor:20150915007.png}} ===== 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:configuration|Configuration]]