Как в GO через многопоточность обрабатывать данные из базы данных?
По-моему это всё делается в один запрос к БД: UPDATE products SET blocked = status == 2 WHERE status in (1,2)
если отойти от того, что это реально делается одном запросом (см. пример выше), то тут есть что улучшить.
во-первых, я не знаком с этим ORM, но, как мне кажется, тут явно не хватает транзакции. 
во-вторых, если записей будет хрелиард, то рутин будет многовато. я бы сделал n воркеров, а задачу им кидал бы через канал.