Considerations
Dynamic Naming: If each HistoricalDataFetcher GenServer instance needs a unique name, ensure that the naming strategy does not cause conflicts. Dynamic names can be useful, but they require careful management. Often, naming might not be necessary unless you need to directly reference the process later.
Map vs. Keyword List: Your current approach correctly uses a map for args. Just ensure that anywhere args is expected or processed, it's handled appropriately as a map.
Error Handling: The function clause error indicates a deeper mismatch in expected function arguments or structures. Always validate the data types and structures you work with, especially when passing them across module boundaries.
By making these adjustments, you should be able to resolve the function_clause error and successfully initiate a request for historical data through your HistoricalDataFetcher process.
Considerations Dynamic Naming: If each HistoricalDataFetcher GenServer instance needs a unique name, ensure that the naming strategy does not cause conflicts. Dynamic names can be useful, but they require careful management. Often, naming might not be necessary unless you need to directly reference the process later. Map vs. Keyword List: Your current approach correctly uses a map for args. Just ensure that anywhere args is expected or processed, it's handled appropriately as a map. Error Handling: The function clause error indicates a deeper mismatch in expected function arguments or structures. Always validate the data types and structures you work with, especially when passing them across module boundaries. By making these adjustments, you should be able to resolve the function_clause error and successfully initiate a request for historical data through your HistoricalDataFetcher process.