Deployment and Upgrade for Coal Chemical Yield and Market Daily Reporting

Coal chemical market and yield data is sourced from domestic coal industry association monitoring data and public transaction data from bulk commodity

What the data for this category looks like

Coal chemical market and yield data is sourced from domestic coal industry association monitoring data and public transaction data from bulk commodity spot trading platforms. All main category data is updated by 17:00 on the same day. Niche supporting category data is synchronized by 10:00 the following day, with a delayed update. Data is stored in a structured format, including fields such as product unique identifier, product Chinese name, same-day settlement price, weekly average settlement price, monthly average settlement price, same-day total outbound volume, same-day total inbound volume, downstream operating load value. Price unit is yuan/ton. Outbound and inbound total volume units are tons. Downstream operating load value is a dimensionless number between 0 and 100.

Constraints from data characteristics on deployment and upgrade

Coal chemical data characteristics impose multiple constraints on deployment and upgrade processes. First, different categories have different update schedules. Layered scheduled pull tasks must be configured to distinguish update trigger times for main categories and niche categories. Second, there are many structured data fields and fixed mapping rules. Field alignment logic must be configured in advance during deployment to avoid field missing or misalignment during parsing. Third, niche category updates have delays. Timeout retry and exception alert mechanisms must be set up to prevent daily report generation interruptions caused by failed data pulls. Fourth, when pulling data for multiple categories in batches, adjust the concurrent request threshold to avoid triggering data source current limiting rules. Fifth, configure a unit verification process to ensure that price and volume units from different data sources are unified.

How to set the configurations

Configuration ItemRecommended SettingRationale
CRON_EXPRESSIONMain categories: 0 16 * * *; Niche categories: 0 9 * * *Matches the update requirements for coal chemical main categories (by 17:00 same day) and niche categories (by 10:00 next day), and avoids peak data source access times
DATA_FIELD_MAPPING{"product_id": "product_unique_identifier", "price": "daily_settlement_price", "out_stock": "daily_outbound_volume", "work_load": "downstream_operating_load_value"}Aligns with the standard field structure of coal chemical data to avoid field missing or misalignment during parsing
FETCH_CONCURRENCY_LIMIT5 requests per minuteAdapts to the current limiting thresholds of most bulk commodity data sources to prevent access bans
UPGRADE_SCRIPT_PATH/fastgpt/upgrade/Follows the officially recommended upgrade script storage path to ensure compatibility across version upgrade processes
DOCKER_COMPOSE_PORT127.0.0.1:8080Only opens the local intranet access port to avoid publicly exposing interfaces, meeting private deployment requirements
PARSE_TIMEOUT_SECONDS300 secondsAdapts to the parsing duration of coal chemical multi-field data to avoid parsing timeouts caused by large data volumes

The parameter values provided on this page are common starting points for configuration. Actual values are affected by material form, data volume and business rules. Specific issues require case-by-case analysis. It is recommended to test on your own samples before finalizing settings.

Three common mistakes

  • Misconfiguring DOCKER_COMPOSE_PORT as 0.0.0.0:8080, which leads to public exposure of interfaces and violates private deployment requirements. This occurs because the distinction between local deployment and public network deployment port binding rules is not clearly understood, and default configurations are used directly.
  • Performing a cross-version upgrade directly from 4.9.10 to 4.9.13 without running intermediate version upgrade scripts, which causes database structure incompatibility. This occurs because the official version upgrade path documentation is not reviewed, and necessary version transition steps are skipped.
  • Attempting to install dependencies inside the FastGPT container without obtaining root permissions, which causes failure to install ffmpeg dependencies required for voice broadcasting. This occurs because the docker exec --user root command is not used to obtain container root permissions, and installation commands are run directly leading to insufficient permissions.

How to confirm configurations are correct

  • Run the docker ps command to check container running status, confirm that both the FastGPT container and the associated data pull container are running normally.
  • Manually trigger a data pull task, check the parsed log output to confirm that all configured fields can correctly match data source content.
  • Check the scheduled task log to confirm that the pull times for main categories and niche categories comply with the configured CRON_EXPRESSION rules.
  • Run the official upgrade script test command to confirm that the upgrade script path and version transition steps meet official requirements, with no error prompts.

Question material comes from public community discussions. Configuration values are common starting points and should be measured against your own samples. Verified on 2026-09-14.