text: Title: Allow serialization of a subset of params
  Body: We store `params` for each task execution so we re-run the task if any of the parameters change. But since the metadata is a JSON file, we can only store JSON-serializable parameters. The current implementations do all or nothing: if any parameter is not JSON-serializable, it doesn't save anything but it would be better to only ignore the ones we cannot serialize and save the rest
  
  https://github.com/ploomber/ploomber/blob/aca1a8a9ee48a4b8f671f1b6084fb9647caa45e0/src/ploomber/products/metadata.py#L252