1. /**
  2. * Creates nested header metadata for short-lived tasks.
  3. *
  4. * @param {object} options - Configuration options.
  5. * @param {string} options.taskName - Name of the task.
  6. * @param {string} [options.taskDescription=''] - Description of the task.
  7. * @param {object} [options.metadata={}] - Additional metadata.
  8. * @returns {object} - The nested header metadata object.
  9. */
  10. function createTaskHeaders(options) {
  11. const { taskName, taskDescription = '', metadata = {} } = options;
  12. const headers = {
  13. 'X-Task-Name': taskName, // Required: Task name
  14. 'X-Task-Description': taskDescription, // Optional: Task description
  15. ...metadata, // Merge any provided metadata
  16. };
  17. return headers;
  18. }
  19. /**
  20. * Example Usage:
  21. */
  22. // const taskHeaders = createTaskHeaders({
  23. // taskName: 'processData',
  24. // taskDescription: 'Extract and transform data',
  25. // metadata: {
  26. // priority: 'high',
  27. // environment: 'production'
  28. // }
  29. // });
  30. // console.log(taskHeaders);

Add your comment