Set timestamps for bbo worker
What does this MR do and why?
This code change makes two main improvements to a background job processing system:
Automatic timestamp tracking: The system now automatically records when database migration jobs start and finish by setting timestamps whenever a job transitions to "active" or "finished" states. This provides better visibility into how long operations take.
Flexible organization handling: The code was updated to only include organization information when it's actually available, making the system more adaptable to different deployment scenarios. Previously, it always tried to set an organization ID, which could cause issues in environments where this concept doesn't exist.
Minor bug fix: Fixed a small issue in the batch processing logic where column names weren't being passed correctly to a data extraction method.
These changes make the background job system more robust and provide better monitoring capabilities while maintaining backward compatibility with existing setups.