Cronjobs - Tiến trình tự động

Thứ bảy - 21/11/2015 08:39

Tổng quan về Cronjob

Cronjob là các tác vụ tự động của NukeViet được thực thi thông qua các Cron.

Các Cron của NukeViet được chứa trong thư mục /includes/cronjobs. NukeViet cung cấp 9 cronjobs mặc định, trong đó 8 cronjobs được kích hoạt sẵn và 1 cronjobs admin có thể kích hoạt. Với các cronjobs là cronjobs hệ thống, admin sẽ không được phép tạm dừng cũng như xóa chúng.

Tên của các file chứa cronjobs bao gồm chữ cái, chữ số và dấu gạch dưới (_). Một file có thể chứa nhiều cronjobs khác nhau. Mỗi cronjobs là một hàm bắt đầu bằng tiếp đầu tố cron_, hệ thống sẽ không chấp nhận các hàm không bắt đầu bằng cron_.

Lập trình Cronjobs cho NukeViet

Để tạo mới một cron ta có thể thêm vào một file có sẵn hoặc tạp một file mới. Nếu tạo một file mới cần có dòng:
if ( ! defined( 'NV_IS_CRON' ) ) die( 'Stop!!!' );

Tiếp theo đó là function cron_ten-cron.

Bạn có thể sử dụng các tài nguyên có sẵn như các hàm, các biến, các class,... có sẵn của hệ thống. Việc lập trình cronjobs tương tự như lập trình một func của module.

Dưới đây là Cronjob có nhiệm vụ xóa những sessions bị quá thời gian online cho phép, bạn có thể tham khảo.

<?php

/**
 * @Project NUKEVIET 4.x
 * @Author VINADES.,JSC (contact@vinades.vn)
 * @Copyright (C) 2014 VINADES.,JSC. All rights reserved
 * @License GNU/GPL version 2 or any later version
 * @Createdate 1-27-2010 5:25
 */

if( ! defined( 'NV_MAINFILE' ) ) die( 'Stop!!!' );

if( ! defined( 'NV_IS_CRON' ) ) die( 'Stop!!!' );

/**
 * cron_online_expired_del()
 *
 * @return
 */
function cron_online_expired_del()
{
	global $db;
	$db->query( 'DELETE FROM ' . NV_SESSIONS_GLOBALTABLE . ' WHERE onl_time < ' . (NV_CURRENTTIME - NV_ONLINE_UPD_TIME) );

	return true;
}

Nguồn tin: wiki.nukeviet.vn

Tổng số điểm của bài viết là: 12 trong 3 đánh giá

Xếp hạng: 4 - 3 phiếu bầu
Click để đánh giá bài viết