You're on the right track. The ProcessorExtensionPoint is used by us in some of our commercial code to modify/customize the insert into the database that's done with each image processed. One thing of note, this extension point is called within a database transaction. Any significant time spent in this extension could affect system performance.
The WorkQueueFactorExtensionPoint is really used for creating the processors for new WorkQueue entries. This could be used to implement a new type of Workqueue processor, but you're right, you'd still have to figure out some way to get the actual Work to be done into the database.
Another alternate would be to implement something through the rules engine, which is extensible. Ie, you could use this extension:
You can look in the CC.ImageServer.Rules assembly, and specifically at the folders within this assembly to see examples of the extension. The CC.ImageServer.Rules.RleCodec also would be useful. This extension defines the actual "actions" that are performed in rules. There's a GetSchema() method to the extension that defines the "ServerRuleTypeEnum" that the action applies to, and also defines the valid XML schema for the rule. The Compile() method of the extension returns an IActionItem that actually perfoms the action when a rule is applied. There's a ServerActionContext passed to the IActionItem that gives the context of the study the rule is being applied to.
Anyways, if you were to define a ServerRuleTypeEnum.StudyCompress action, with the above extension, the action would be applied when a study has completed processing. You could then perform your processing, or else trigger some other processing from this action. There also may be an issue with an open database transaction, however, with this extension. Anyways, this should be a feasible way to integrate in an extension during processing of a study.
Finally, i was editing this study to add a note about doing future dev questions on github, when the forum software screwed up the post when I saved it after the edit. Anyways, we're attempting to migrate dev questions there.