Hi Jason,
I verified that the checkboxes are checked for the Subscription Expiry Reminders.
It appears that nothing in SubscriptionExpiryReminder.inc.php is getting run as far as I can see. I have a bunch of error_log statements, but nothing is getting written in the log. However, I know that various functions in lib/pkp/classes/cliTool/ScheduledTaskTool.inc.php are being run, as I added a bunch of error_log statements and they are writing to the log. Here's the sequence of events:
1) I run from the command line: php /usr/local/apache2/htdocs/ojstest/tools/runScheduledTasks.php
2) ScheduledTaskTool.inc.php runs this;
function ScheduledTaskTool($argv = array()) {
parent::CommandLineTool($argv);
if (isset($this->argv[0])) {
$this->file = $this->argv[0];
} else {
$this->file = TASKS_REGISTRY_FILE;
}
if (!file_exists($this->file) || !is_readable($this->file)) {
printf("Tasks file \"%s\" does not exist or is not readable!\n", $this->file);
exit(1);
}
$this->taskDao =& DAORegistry::getDAO('ScheduledTaskDAO');
error_log('one');
3) tools/runScheduledTasks.php runs this:
function runScheduledTasks($argv = array()) {
parent::ScheduledTaskTool($argv);
error_log('runScheduled_task');
4) ScheduledTaskTool.inc.php runs the rest of these-
function parseTasks($file) {
$xmlParser = new XMLParser();
$tree = $xmlParser->parse($file);
error_log('done_parsing');
5) foreach ($tree->getChildren() as $task) {
$className = $task->getAttribute('class');
error_log('className');
6) $frequency = $task->getChildByName('frequency');
error_log('frequency');
7) function checkFrequency($className, $frequency) {
$isValid = true;
error_log('is_vaild');

$lastRunTime = $this->taskDao->getLastRunTime($className);
error_log('last_run_time');
9) $dayOfWeek = $frequency->getAttribute('dayofweek');
error_log('day_of_week');
10) We added an else statement in the function below to check the funciton below:
if (isset($dayOfWeek)) {
$isValid = $this->isInRange($dayOfWeek, (int)date('w'), $lastRunTime, 'day', strtotime('-1 week'));
error_log('dw1',$dayOfWeek);
} else {
error_log('not_set');
Not set show up in the log
11) $month = $frequency->getAttribute('month');
error_log('month');
12) $day = $frequency->getAttribute('day');
error_log('day');
13) if (isset($frequency)) {
$canExecute = $this->checkFrequency($className, $frequency);
error_log('can_execute');
14) $xmlParser->destroy();
error_log('three');
15) function execute() {
$this->parseTasks($this->file);
error_log('two');
That's it. I don't have error_logs for every function, so it's possible more is going on.
Thanks, again, for all your help. I think we're getting closer to figuring this out.
Ralph