Before I begin, I spent most of yesterday going over all the documentation I could about bulk sync -- Rob posted a video, there were several questions posted, of course, I read this documentation and this and I tried unsuccessfully (the bulk data process was started, but never returned anything) to set it up on my test (local Windows) server. Before I go to the effort of trying to set it up on our development box (Ubuntu), I'd really like some help with my questions.
Rob's video (which is several years old) spoke of resque and starting up workers, etc., but the documentation says this is really baked into Rhodes now -- specifically:
Queue a resque background job which will run the bulk sync process.
From this, it seems like I do not need to set anything else up (with respect to Rhodes and Resque). Do I need to set up some type of worker for this? If so, does someone have a good example of this? Since I am not a Ruby guy, I just don't know...
Is the bulk data user specific or device specific (or both)? Meaning I have users sharing devices, each with a different log in, will the bulk data be "stored/zipped" at the device level or the user level? For instance, if the device ID (as viewed on the RhoConnect console under users below) is switched to a new user (as it happens on log in), will the bulk data that is maintained via the bulk_sync_poll_interval be associated with the device ID or the user ID? I would like to know because depending on how it is stored and retrieved, it may not make a (significant) difference to use bulk sync since the data/zipped file needs to be re-built every new log in anyway -- the data retrieval from the backend API via RhoConnect takes quite a bit of time too -- the initial load time difference (at the device) may not even be noticeable to the user.
Finally, I am not even sure if this is the right approach.
I have users sharing device in different geographic locations (i.e., district offices with 12 users on different shifts sharing 4 ET1 devices). Each has a log in into the application. The users sharing the device (in an office) will have the same 2 large data subsets (models in the Rho App -- but those subsets are different from office to office, hence app partitions probably won't work). Generally, I need to clear most data (user specific) on the device at log in, but, since those large subsets do not change for the users within one office, I would like to just do an incremental sync on those subsets and a full pull of the other data. Maybe it is possible to use the app partition, but since those data sets are different for each office, I am not sure how to make that work.
Any thoughts or hints would be greatly appreciated.