We consider the problem of scheduling n jobs non-preemptively on m parallel, non-identical processors to minimize a weighted expected cost function of job completion times, where the weights are associated with the jobs. The cost function is assumed to be increasing and concave but otherwise arbitrary. Processing times are IFR with different distributions for different processors. Jobs may be processed on any processor and there are no precedences. We show that the optimal policy orders the jobs in decreasing order of their weights and then uses the individually optimal policy for each job. In other words, processors are offered to jobs in order, and each job considers its own expected cost function for its completion time to decide whether to accept or reject a processor. Therefore, the optimal policy does not depend on the weights of the jobs except through their order. Special cases of our objective function are weighted expected flowtime, weighted discounted expected flowtime, and weighted expected number of tardy jobs.