Easier way of pausing builds

We have some databases that can take hours to rebuild. These databases are set to rebuild whenever the sync process completes. So in the middle of the day, when working on modifying data being synced or adding additional data to sync, it’s important to pause these builds while the new data is synced and changes made to the DBs.

Currently, the only way I believe to do this is by going to each database and turning off it’s scheduled rebuild, then when complete, turning the schedule back on.

At the very lease, I’d like to be able to select all the database and change the schedule, vs doing each one individually.

An alternative to changing the schedules might be an option to “Pause” builds, then “Unpause” when done. (In the case the schedules vary, you don’t have to remember the schedule setting for each DB)

Ideally would be an option to “Pause for X hours”. What has happened to me in the past is I’ve turned off the schedule on the DBs, spent a number of hours on syncing new data and redesigning DB, and forget to turn schedules back on. I don’t realize it until the next day when I get a bunch of users calling about the data being incorrect.

I know this doesn’t affect a lot of people, but as someone who has been spending a lot of time over the past weeks adding data to Phocas, it would be a huge help!

2 Likes

Hi Aaron,

I’ve been having the same issues as you; when I’m adding features to an existing database, I will add fields to the queries, sync the data and then go into designer to use the new fields. Any databases set to OnSync, are already rebuilding when I get there, meaning I have to cancel the builds.

Because this situation only really applies to the UI version of Sync, and not the CLI version, I was pondering if the solution might be to have two buttons in Sync; “Sync Now” and “Sync & Build Now” - the first one would just move the data without triggering any rebuilds, meaning you could safely modify data without having to worry about the impact.

I think that would be easier than having a pause option. What do you think?

1 Like

One possible method to achieve this is to create a separate sync item - a dummy sync of a tiny squirt of data. In designer Set the onsync build to be triggered on that source.
When you want to “pause” just disable the sync command in task scheduler. Re-enable it to resume normal build.

Just an Idea

Thanks @aaron.roma for your suggestions. I have logged this improvement in our system. @jason.law suggested solution seems like a simple way of solving the problem.

If your builds are not time constrained and the sync time is reliable then you could also set the database schedule for a time of day. That way they are only triggered once per day.

Yes, @jason.law I think your suggestion would work just fine.

@will.ferguson Thanks for the suggestion. The biggest issue I would see there would be timing. If I could time it enough to have the “dummy” sync scheduled, and kick of the build based on that, then I might as well just scheduled the rebuilds at a particular time. But my syncs vary enough that it’s not the easiest to time it.

@will.marriott Yes, I like the solution proposed by @jason.law As for your other suggestion, I had considered this. Unfortunately, my sync times can vary a pretty good bit, and the rebuilds are so long… hours… that it’s hard to time it right to ensure the sync is completed but the build is done before they’re needed.