Hi uagnihotri,
Can you please clarify, when you say Campaign priority, you actually mean delivery priority? As far as my knowledge goes, I've never seen Campaign priority. Will wait for you to clarify that.
Following points are in terms of delivery priority.
- When you analyze the delivery, priority for it is set at the time when editing it initially.
- Deliveries that sit inside Campaign (nms:operation) are governed by this priority setting.
- operationMgt (Campaign Jobs) workflow is responsible for initiating the analysis of these deliveries as scheduled or requested by the marketer.
- operationMgt at a given time can process X number of deliveries only. This setting X is an option value called NmsOperation_LimitConcurrency.

- By default, it is 10 but then you can increase this number depending upon the infrastructure you have and the amount of load your database can handle.
- When say you have more than X deliveries all scheduled for analysis or send initiation concurrently, operationMgt will pick the first X out of those after sorting them according to that priority.
- After that point onwards, MTA randomply picks the delivery parts to process them and priority has no role to play here.
Now coming to your questions
If Campaign A is running with High Priority and Campaign B is running with Low Priority. After some time, we change the priority of Campaign A to low and Campaign B to high.
Will this change in priority taken into consideration by campaign dynamically?
I'm not sure if Campaign has a priority but if you want to do this on delivery, you will have to reanalyze it to take effect
Another question is, can the priorities of deliveries be overridden after the delivery is prepared? Example : If in a campaign, total 1000 deliveries were targeted, after some deliveries are sent, say 250, we want to change the priority of the delivery and wants campaign to send the remaining deliveries as per new priority. Is this possible?
A delivery becomes readonly, once you prepare it. However, it will not stop you from updating the attributes using an API call or workflow. Will it take effect? No as for that you need to re-analyze the delivery. If a delivery is already going out, priority has no control over it as MTA picks delivery parts that are available, randomly.
How to achieve these two scenarios? Can we customize this code?
It cannot be done.
Regards,
Vipul