Next revision | Previous revision |
gen:automated_admin_tasks [2025/04/15 11:20] – created kirtisingh | gen:automated_admin_tasks [2025/04/17 05:50] (current) – kirtisingh |
---|
With N99panel you can have certain tasks treated as automated/admin tasks whereby your normal scripts in a VHost/Website can submit and track tasks. | With N99panel you can have certain tasks treated as automated/admin tasks whereby your normal scripts in a VHost/Website can submit and track tasks. |
| |
| Firstly you need to enable Admin Tasks for a certain user. This you can do from N99panel Dashboard -> List Users . Only a single user can have the Admin Tasks enabled for itself. Once you have enabled the Admin Tasks, you need to do the following w.r.t. task submission and management. |
| |
| Under the user (which has been enabled for admin tasks), create the folder /home///user///admin_tasks , if it is not already created . Substitute //user// for the admin task user |
| |
| Under the folder **/home///user///admin_tasks** , following sub-folders are involved |
| |
| **//new_tasks//** - If it is not present, you will need to create it at your end. Here you would place the requisite JSON file with a .json extension which contains the task details . The JSON file should begin with a number preferably a timestamp . Example of a valid JSON filename is 1744610599.json . Each JSON file contains a single task. The typical fomat of a JSON file is |
| |
| <code> |
| { |
| "task":"__TASK_NAME__", |
| "params":{ |
| "__PARAM1__":"__VALUE1__" , |
| "__PARAM2__":"__VALUE2__" , |
| } |
| } |
| </code> |
| |
| Click [[:json_Calls|this link]] to checkout various available JSON calls |
| |
| The system checks for new tasks every minute, and the moves those tasks to the **//current_tasks//** folder before executing the task. |
| |
| **//current_tasks//** - This is a system created folder to manage the task state. When a task is to be executed, the system places it in this folder. When the execution is done, the task is then moved to either **//handled_tasks//** or **//discarded_tasks//** depending upon whether its execution was successful or not |
| |
| **//handled_tasks//** - Tasks which are successful, are placed under this folder |
| |
| **//discarded_tasks//** - Tasks which are un-successful, are placed under this folder. It also contains a log file w.r.t. task where its name begins using the same name of the original task file but with also date/time references. |
| |
| ---------------- |
| |
| To summarise everthing |
| |
| As a developer, you would need be doing the following\\ |
| - Enable Admin tasks\\ |
| - Ensure folder **/home///user///admin_tasks** is present\\ |
| - If you are placing tasks via a VHost's PHP script etc., you would need to expose the the above folder to the VHost from within N99panel options like [[:gen:accessing-parent-folders|Update Other Dirs]] under VHost details or 'Expose Dirs' from under Users\\ |
| - Track the tasks using your own scripts |
| |