How to detect insertion of new item(s) into Drupal's queue?
There is another question here with some equal requirement: Insert task to Queue only if unique

The idea is to create a custom queue class extending the original one. Your custom class only overrides the createItem method. Just copy the original one and add your custom functionality.

After that you need to let Drupal know about your new queue class.

The downside is that it would override the class of your queue for every operation on it.