Setup a scheduled 'flush cache' and 'flush foldercache' on Windows System?

We are having issues with Items not publishing newest version unless the system gets flushed. We are also having problems with the scheduled publish publishing an old version of an item after users have used ‘publish now’ to put the current version of the item out, flushing the system fixes this problem as well.

What is the best way to setup a scheduled system cache flush on a windows based server?

        Thanks for any help you can give!

Jay,
I am assume when you say “the system” you mean the Windows Server you’re running Percussion on, no? If so, what version of Windows Server are you running? (system caching works a little differently in different Windows Server). It is possible in Percussion to write what are called pre-edition tasks that execute before publishing jobs run; however, I would think it is advisable to adjust the caching behavior of Windows Server, rather than trying to have a program flush the cache all the time. I have no idea about your environment, your constraints, change control processes, etc, but if Percussion is the only thing running on that box, then obviously you minimize the risk of breaking other stuff by adjusting the O/S. In addition to the out of the box admin tools for Windows, there’s also Microsoft’s Dynamic Cacheing Service: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=e24ade0a-5efe-43c8-b9c3-5d0ecb2f39af&displaylang=en, which allows you to do even more (not sure exactly what, but just read about this in an article).

That’s my two cents. I haven’t done Windows administration for years and years, so by no means am I an SME on this kind of stuff anymore.

What you’re describing sounds like a bug or a misconfiguration either in the application server or the Windows server itself.

In answer to your question, you could use the Windows Scheduled Task and execute something like

CLASSPATH="$RX_ROOT/AppServer/server/rx/deploy/rxapp.ear/rxapp.war/WEB-INF/lib/rxclient.jar:$RX_ROOT/sys_resources/AppletJars/rxcx.jar:$RX_ROOT/Administration/commons-codec-1.3.jar:$RX_ROOT/Administration/rxmisctools.jar"
$JAVA_HOME/java -classpath $CLASSPATH com.percussion.util.RemoteConsole localhost 9992 $RXADMINUSER $RXADMINPASSWORD \"$MONITOR_COMMAND\" y

Obviously, you need to fill in the details for the variables, realizing this is a variation on a linux bash script. Where I have $MONITOR_COMMAND, any command that you can pass in the Server Admin Tool command console should be viable. You can find those in the Rhythmyx Administration Manual, starting on page 48, under the heading “Server Console Commands by Function.” The commands for flushing cache are on page 58.

I wouldn’t implement this solution, but hey, you asked… I answered…

Disclaimer: we run our system on Linux with an Oracle backend. It’s been about three years since I dealt with Windows server administration and/or MS SQL Server.

It occurred to me that SQL server may also have cache enabled. I wonder if your problem could be due to a conflict between the Hibernate cache and the SQL Server cache.

This can only happen when misconfigured more than one Rhythmyx servers point to the same database.
It can also happen when the item is updated by updating the database tables from a different tool (not by Rhythmyx).

Are you using more than one Rhythmyx servers, point to the same database?

Otherwise, please trying to find out a set of reproducible steps, then contact tech support for a possible solution.