core: directly queue from bulk() and file().