Have managed configure a publisher task to do this.
Firstly I split the reload task into two sections, and placed these two qvw documents in the \ProgramData\QlikTech\SourceDocuments folder.
A. qvw with no UI components that performs the loads from the database and updates the qvd's
B. qvw where the loads use the qvd's and a variable called vCustomer to do a select with a where clause to selectively load the data for one customer.
FROM allData.qvd (qvd) where customer = 'CUST1';
Then in publisher on the Documents -> Source Documents tab I setup two tasks
1. A reload task for the reload document defined in A so that it loads the data from the database with a trigger to periodically load the data.
2. A reload task on the main document with trigger "On Event From Another Task", start on successful completion of the reload above (1).
Also on the reload tab set reload to be on (ticked) and Script Parameter "vCustomer" and parameter value Customer_ID (which is a document field that contains all the customer ID's but is not linked to any other tables)
Also on the reduce tab I set reduced document name = %SourceDocumentName%_%ScriptParameter%
None of the other fields on the reduce tab have any values defined other than the default.
On the Distribute tab the the Manually -> Distribute to folder was set to where the user visible qvw documents are placed.
This creates a qvw and performs a reload for each customer then copies the qvw to the distibute to folder with a name specific to each customer.
The qvw size never gets any bigger than that required for the data for one customer meaning I do not have to size the server with enough memory to create a qvw containing the data for all customers.
N.B. You have to be careful about the amount of memory used during the database load and the creation of the qvd's