<?php require_once("docutil.php"); page_head("Periodic tasks"); echo " <b>Periodic tasks</b> are programs that are run periodically. They are executed by the <a href=tools_start.php>bin/start --cron</a> program, which you should run from cron. (To do this, run crontab and add a line of the form <pre> 0,5,10,15,20,25,30,35,40,45,50,55 * * * * HOME/projects/PROJECT/bin/start --cron </pre> Periodic tasks are short-running, but in case they aren't, the 'start' script detect when an instance is still running and won't start another instance. <p> Your project's periodic tasks are described in its <a href=configuration.php>config.xml</a> file, with elements of the following form: "; echo html_text(" <task> <cmd> get_load </cmd> <output> get_load.out </output> <period> 5 min </period> [ <host> host.ip </host> ] [ <disabled> 1 </disabled> ] [ <always_run> 1 </always_run> ] </task> <task> <cmd> echo \"HI\" | mail root@example.com </cmd> <output> /dev/null </output> <period> 1 day </period> </task> <task> ... </task> "); list_start(); list_item( "cmd", "The command used to perform the task. This command will be run in the <bin_dir> directory." ); list_item("host", "Specifies where the daemon shoulr run. The default is the project's main host, as specified in config.xml." ); list_item( "period", "The interval between executions, expressed as a single number (in units of minutes) or a number followed by 'seconds', 'minutes', 'hours', or 'days' (may be abbreviated to unique initial string)." ); list_item( "output", "Specifies the output file to output; and by default it is COMMAND_BASE_NAME.out. Output files are in log_X/, where X is the host." ); list_item( "disabled", "Ignore this entry" ); list_item( "always_run", "Run this task regardless of whether or not the project is enabled (for example, a script that logs the current CPU load of the host machine)." ); list_end(); echo " A project newly created by <a href=make_project.php>make_project</a> has no periodic tasks. Here are some programs you might want to run as periodic tasks: "; list_start(); list_item("db_dump", "Write statistics data to XML files for export. Details are <a href=db_dump.php>here</a>. Recommended period: 7 days." ); list_item("update_profile_pages", "Generate HTML files with lists of links to user profiles, organized alphabetically and by country. Recommended period: a few days." ); list_item("update_stats -update_teams -update_users -update_hosts", "Update the recent average credit fields of users, teams, and hosts. This is important if you use send personalized <a href=mass_email.php>mass emails</a> or <a href=reminder_email.php>reminder emails</a>, or use recent credit to enable message-board posting. Recommended period: every few days." ); list_item("update_uotd", "Select a new User of the Day. Period: 1 day." ); list_item("../html/ops/update_forum_activities.php", "Recompute 'popularity' estimages for threads and posts in the Questions and Answers message boards. Recommended period: 1 hour." ); list_end(); page_tail(); ?>