--- layout: post type: handbook title: "Admin Commands" date: 2014-11-10 tags: command admin --- These are checklist admin needs to get done. * [ดึงข้อมูลจาก PSIS v1](#psis-v1) * [คำสั่งตรวจสอบปัญหาต่างๆ](#section) * [คำสั่งเก็บประมวลผลข้อมูล](#section-1) * [คำสั่งอื่นๆ](#section-2) ## ดึงข้อมูลจาก PSIS v1 เริ่มกันที่คำสั่งสำหรับการดึงข้อมูลเก่าเลย หลักการคล้ายกัน คือ กำหนด `school_id` ได้ตามชอบใจ ถ้าไม่ครบมันจะ search ด้วยรหัสที่พิมลงไปเป็นตัวเริ่มต้น * `$ ./manage.py ` อันนี้คือจัดการของโรงเรียนที่ต้องการ * `$ ./manage.py 1010` อันนี้คือจัดการของโรงเรียนที่มีรหัสโรงเรียนขึ้นต้นด้วย `1010` ทั้งหมด * `$ ./manage.py all` อันนี้คือจัดการของทุกโรงเรียน ซึ่งไม่แนะนำเลยเพราะแยกเป็นหลาย process จะเร็วกว่ามากนัก คำสั่งที่มีของชุดนี้คือ * `import_v1_bank` * `import_v1_class_rel` * `import_v1_classroom` * `import_v1_employee` * `import_v1_sinfo` * `import_v1_student` * `import_v1_address` * `import_v1_people` เพื่อที่จะให้ได้ข้อมูลของโรงเรียนที่สมบูรณ์นั้น จะต้องทำตามคำสั่งต่อไปนี้ * `import_v1_people` * `import_v1_student`, `import_v1_employee`, `import_v1_classroom` * `import_v1_sinfo`, `import_v1_address`, `import_v1_bank`, `import_v1_class_rel` โดยในข้อเดียวกันลำดับไม่มีความสำคัญ จะเริ่มอันไหนก่อนก็ไม่มีปัญหา การนำเข้าข้อมูลนั้น โดยมากจะมีการลบข้อมูลในระบบ PSISv2 ก่อนเสมอ ก่อนที่จะนำเข้าใหม่ ดังนั้น เมื่อมีการเปลี่ยนแปลงข้อมูลใน PSISv2 แล้ว ก็ไม่ควรที่จะใช้การนำเข้าแบบนี้อีกเลย ## คำสั่งตรวจสอบปัญหาต่างๆ * `check_teacher_issue` * `check_student_issue` ## คำสั่งเก็บประมวลผลข้อมูล * `run_misc_support` -- ข้อมูลเริ่มต้นสำหรับอุดหนุนทางการศึกษา * `db_builder` -- บังคับให้ระบบประมวลผลเงินอุดหนุนเรียนฟรี 15 ปี (เพื่อจะได้มีการแสดงผลในส่วนของสำนักงาน ไม่เช่นนั้นจะต้องรอให้โรงเรียนเปิดรายงานก่อน) * `mongo_report` -- รายงาน อน. และเงินเดือน * `mongo_stat` -- สถิติในส่วนใหญ่ใน _TOR ข้อ 4.3_ * `mongo_yearly_stat` -- สถิติที่ URL เริ่มต้นด้วย `/yrly/` * `archive_students_transfer` -- [**] จำเป็นต้องสั่งทำงานวันแรกของเดือน เพื่อความถูกต้องของระบบ ## คำสั่งอื่นๆ * `backfill_reviews` -- ทำงานโดยการใส่ review record ไว้สำหรับข้อมูลที่จำเป็นต้องมีการตรวจสอบ * `prefix_filler` -- ใส่เพศให้กับ record ที่ยังไม่มีใช้เพื่อความถูกต้องของข้อมูล Statistics เท่านั้น (เท่าที่คิดออก) * ตรวจสอบ __in_progress_bit__ - check_student_issue_in_progress - check_teacher_issue_in_progress - backfill_reviews_in_progress - sub4sum_in_progress - sub4sum_office_in_progress >>> from core import get_system_pref, set_system_pref >>> get_system_pref('backfill_reviews_in_progress') >>> set_system_pref('backfill_reviews_in_progress', False) * `sub4sum***` commands - เปิดหน้า `/office/s4sum/` เพื่อให้ `celery` จัดการ - ใน `shell_plus` >>> from office.tasks import preprocessing_sub4sum_office, preprocessing_sub4sum >>> d = {'year': 2014, 'month': 12} >>> preprocessing_sub4sum(**d) 3585 >>> preprocessing_sub4sum_office(**d) 343 >>>