Anyone has experienced change a configuration from magento admin,
clear all cache(including remove the cache folder),
but still load old configuration value from cronjob (if using browser or CURL call, it load the correct configuration)
note:
im using nginx + ubuntu + phpfpm in AWS Ec2, mysql is RDS
im using cron.sh as magento cron
im using magneto custom module with cronjob load old configuration (even core magento configuration value)
Not sure cronjob itself will be cache or not, restart cronjob may help (not yet test), but still dont know the root reason.
Any idea?
---- just test -----
restart cron service not work
restart nginx service not work
restart php-fpm not work
reboot machine work
finally found that, since cron job using ubuntu, then the magento logic will be:
if the var folder (owner is www-data) is not writable by current user (ubuntu)
then write it to /tmp/magento/var/ -- Mage_Core_Model_Config_Options
thus, all old cache store in /tmp/magento/var/, even i clear the cache from magento backend, it will not clear this 'tmp/magento/var'
above issue can be resolve by update var/ to 777, or manually delete the tmp/magento/var/cache in stupid way
however, if using 777 way, another problem occur:
if the cron user create a log file that will share with www-data, the file will be not writable by www-data (644 by default)
another solution is to change the cron user as www-data
However
magento is quite special, the cron.sh will call cron.php and cron.php then call to cron.sh again with bin/sh
thus www-data has no access right to bin/sh, then i cant use it to run cron
You can try to use this method. It should works for your configuration. http://www.emiprotechnologies.com/blog/magento-technical-notes-60/post/automatically-refresh-cache-using-cron-in-magento-307