# 阿里云函数计算配置 ROSTemplateFormatVersion: '2015-09-01' Transform: 'Aliyun::Serverless-2018-04-03' Resources: functional-scaffold: Type: 'Aliyun::Serverless::Service' Properties: Description: '算法工程化 Serverless 脚手架' LogConfig: Project: functional-scaffold-logs Logstore: function-logs VpcConfig: VpcId: 'vpc-xxxxx' VSwitchIds: - 'vsw-xxxxx' SecurityGroupId: 'sg-xxxxx' prime-checker: Type: 'Aliyun::Serverless::Function' Properties: Description: '质数判断算法服务(API)' Runtime: custom-container MemorySize: 512 Timeout: 60 InstanceConcurrency: 10 CAPort: 8000 CustomContainerConfig: Image: 'registry.cn-hangzhou.aliyuncs.com/your-namespace/functional-scaffold:latest' Command: '["/app/entrypoint.sh"]' EnvironmentVariables: APP_ENV: production LOG_LEVEL: INFO METRICS_ENABLED: 'true' RUN_MODE: api REDIS_HOST: 'r-xxxxx.redis.rds.aliyuncs.com' REDIS_PORT: '6379' Events: httpTrigger: Type: HTTP Properties: AuthType: ANONYMOUS Methods: - GET - POST job-worker: Type: 'Aliyun::Serverless::Function' Properties: Description: '异步任务 Worker' Runtime: custom-container MemorySize: 512 Timeout: 900 InstanceConcurrency: 1 CustomContainerConfig: Image: 'registry.cn-hangzhou.aliyuncs.com/your-namespace/functional-scaffold:latest' Command: '["/app/entrypoint.sh"]' EnvironmentVariables: APP_ENV: production LOG_LEVEL: INFO METRICS_ENABLED: 'true' RUN_MODE: worker REDIS_HOST: 'r-xxxxx.redis.rds.aliyuncs.com' REDIS_PORT: '6379' WORKER_POLL_INTERVAL: '1.0' MAX_CONCURRENT_JOBS: '5' JOB_MAX_RETRIES: '3' JOB_EXECUTION_TIMEOUT: '300' Events: timerTrigger: Type: Timer Properties: CronExpression: '0 */1 * * * *' Enable: true Payload: '{}'