Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in
Hubspot Extract to PubSub
Hubspot Extract to PubSub
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 1
    • Issues 1
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
    • Iterations
  • Merge requests 0
    • Merge requests 0
  • Requirements
    • Requirements
    • List
  • Operations
    • Operations
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Container Registry
  • Analytics
    • Analytics
    • Code Review
    • Insights
    • Issue
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • Cosmos
  • Modules
  • Hubspot Extract to PubSubHubspot Extract to PubSub
  • Issues
  • #3

Closed
Open
Created Oct 21, 2020 by Ray Walker@rawalkerOwner8 of 8 tasks completed8/8 tasks

Enable by PubSub

Scheduled execution, payload is blank

  • If startTimestamp is not set, query statefile lastSuccessfulLoad
  • Implement Statefile Query Function (not sure where it will be)
  • If statefile lastSuccessfulLoad is not set: [optional] if env == DEV : five minutes ago // if env != DEV : error;
  • Be sure of both topics names to implement one "publishing" function
  • endTimestamp is calculated from now()

Self-execution (paginating through a result set):

  • if hasMore: true, trigger self topic
  • All payload fields required, if not valid : error
{
   "startTimestamp": t,
   "endTimestamp": t,
   "offset": uuid,
}

Backfill:

Triggered with:

{
   "startTimestamp": t,
   "endTimestamp": t
}
  • only start and end fields required Statefile schema:
{
  "lastSuccessfulLoad": t
}

State persistence:

After pagination is complete (hasTrue: false), and events published to PubSub, write endTimestamp to state as lastSuccessfulRun

Note: timestamps must be unix format, including milliseconds. Python doesn't do this by default so much be *1000 sadfase

Edited Nov 03, 2020 by Ray Walker
Assignee
Assign to
Sprint 1
Milestone
Sprint 1 (Past due)
Assign milestone
Time tracking