OK, I did some upgrades recently and I'm getting errors from Action Streams. I moved from MT 4.21 to 4.23, from Action Streams 1.0 to 2.0, from MT-Notifier 4.0.5 to 4.2.0 and I added a few AS plugins: Amazon, Facebook, MT.org and blip.fm.
So, now I'm getting repeated errors in the activity log like this:
Error rebuilding file /home/****/public_html/sandbox/index.php: Template 'Index (Backup from 2008-11-12 18:22:12)' does not have an Output File.
I get a whole string of the, it looks like one per template backup, at the same time. I'm also getting emails about cron errors with a couple of dozen lines like this:
Use of uninitialized value in join or string at (eval 461) line 2.
I get those every 30 or 45 minutes, even though run periodic tasks is set to go every 15.
It would appear as if my run-periodic-tasks is attempting to publish my template backups. I filed a call with support and they checked the database to see if the backup templates were filed correctly (I believe they were). I then disabled AS 2.0 and the errors stopped. I enabled AS 2.0 and disabled the AS add ons I had installed, and the errors returned.
Support said it seemed AS related, and thus not their problem, and pointed me here. Any idea what's happening?
Reported on Movable Type 4.2
AS 2.0 uses the job queue to update streams, so it also makes use of the job queue for rebuilding, whether or not those blogs are set to use asynchronous publishing. In order to make the publishing jobs, AS resorts to looking for fileinfo records (the records MT makes at publishing time so it can know later what it's published) that represent index templates in the blogs you've selected.
In this case, there must be fileinfo records that reference these template backups. Because you mention a "sandbox/index.php" fileinfo, I would guess you switched template sets to one that uses .html extensions instead, so the fileinfo for the template backup is still the latest one that ever published to index.php.
I must have assumed the fileinfos for such templates would be removed. I still don't know a better way to do the publishing than looking at fileinfos, but AS should at least skip these records for not having Output Files set. I opened case 99181 about it.
For now, if you can, you could manually remove the fileinfos named in the errors. They're records in the mt_fileinfo table; the fileinfo's path is in the fileinfo_file_path column.
For those who're wondering, here's the query:
First, confirm the match condition you use with a SELECT statement before actually deleting the records:
mysql> SELECT fileinfo_file_path FROM mt_fileinfo WHERE fileinfo_file_path LIKE '%YOUR MISSING OUTPUTFILES%'
Once you've confirmed, delete the records:
mysql> DELETE FROM mt_fileinfo WHERE fileinfo_file_path like '%YOUR MISSING OUTPUTFILES%';
In my case it was trying to publish things in the "public_html" directory that no longer existed (I had restored from a backup with duplicate, erroneous paths). So mine was:
mysql> Delete from mt_fileinfo WHERE fileinfo_file_path like '%public_html%';
Hope that helps!
Thanks Mark, I'll look into those DB mods.