@@ -11,11 +11,153 @@ public class MoveRowsToShardsWorkflowImpl implements MoveRowsToShardsWorkflow {
11
11
12
12
@ Override
13
13
public void moveRowsToShards () {
14
- Workflow .newChildWorkflowStub (
15
- StoriesWorkflow .class ,
16
- ChildWorkflowOptions .newBuilder ()
17
- .setWorkflowId ("stories" )
18
- .build ()
19
- ).moveStories ();
14
+ // First level tables that don't have any dependencies
15
+ Promise <Void > authUserRequestDailyCountsPromise = Async .procedure (
16
+ Workflow .newChildWorkflowStub (
17
+ AuthUserRequestDailyCountsWorkflow .class ,
18
+ ChildWorkflowOptions .newBuilder ()
19
+ .setWorkflowId ("auth_user_request_daily_counts" )
20
+ .build ()
21
+ )::moveAuthUserRequestDailyCounts
22
+ );
23
+ Promise <Void > mediaStatsPromise = Async .procedure (
24
+ Workflow .newChildWorkflowStub (
25
+ MediaStatsWorkflow .class ,
26
+ ChildWorkflowOptions .newBuilder ()
27
+ .setWorkflowId ("media_stats" )
28
+ .build ()
29
+ )::moveMediaStats
30
+ );
31
+ Promise <Void > mediaCoverageGapsPromise = Async .procedure (
32
+ Workflow .newChildWorkflowStub (
33
+ MediaCoverageGapsWorkflow .class ,
34
+ ChildWorkflowOptions .newBuilder ()
35
+ .setWorkflowId ("media_coverage_gaps" )
36
+ .build ()
37
+ )::moveMediaCoverageGaps
38
+ );
39
+ Promise <Void > storiesPromise = Async .procedure (
40
+ Workflow .newChildWorkflowStub (
41
+ StoriesWorkflow .class ,
42
+ ChildWorkflowOptions .newBuilder ()
43
+ .setWorkflowId ("stories" )
44
+ .build ()
45
+ )::moveStories
46
+ );
47
+ Promise <Void > downloadsPromise = Async .procedure (
48
+ Workflow .newChildWorkflowStub (
49
+ DownloadsWorkflow .class ,
50
+ ChildWorkflowOptions .newBuilder ()
51
+ .setWorkflowId ("downloads" )
52
+ .build ()
53
+ )::moveDownloads
54
+ );
55
+ Promise <Void > topicStoriesPromise = Async .procedure (
56
+ Workflow .newChildWorkflowStub (
57
+ TopicStoriesWorkflow .class ,
58
+ ChildWorkflowOptions .newBuilder ()
59
+ .setWorkflowId ("topic_stories" )
60
+ .build ()
61
+ )::moveTopicStories
62
+ );
63
+ Promise <Void > topicLinksPromise = Async .procedure (
64
+ Workflow .newChildWorkflowStub (
65
+ TopicLinksWorkflow .class ,
66
+ ChildWorkflowOptions .newBuilder ()
67
+ .setWorkflowId ("topic_links" )
68
+ .build ()
69
+ )::moveTopicLinks
70
+ );
71
+ Promise <Void > topicPostsPromise = Async .procedure (
72
+ Workflow .newChildWorkflowStub (
73
+ TopicPostsWorkflow .class ,
74
+ ChildWorkflowOptions .newBuilder ()
75
+ .setWorkflowId ("topic_posts" )
76
+ .build ()
77
+ )::moveTopicPosts
78
+ );
79
+ Promise <Void > snapStoriesPromise = Async .procedure (
80
+ Workflow .newChildWorkflowStub (
81
+ SnapStoriesWorkflow .class ,
82
+ ChildWorkflowOptions .newBuilder ()
83
+ .setWorkflowId ("snap.stories" )
84
+ .build ()
85
+ )::moveSnapStories
86
+ );
87
+ Promise <Void > snapMediaPromise = Async .procedure (
88
+ Workflow .newChildWorkflowStub (
89
+ SnapMediaWorkflow .class ,
90
+ ChildWorkflowOptions .newBuilder ()
91
+ .setWorkflowId ("snap.media" )
92
+ .build ()
93
+ )::moveSnapMedia
94
+ );
95
+ Promise <Void > snapMediaTagsMapPromise = Async .procedure (
96
+ Workflow .newChildWorkflowStub (
97
+ SnapMediaTagsMapWorkflow .class ,
98
+ ChildWorkflowOptions .newBuilder ()
99
+ .setWorkflowId ("snap.media_tags_map" )
100
+ .build ()
101
+ )::moveSnapMediaTagsMap
102
+ );
103
+ Promise <Void > snapStoriesTagsMapPromise = Async .procedure (
104
+ Workflow .newChildWorkflowStub (
105
+ SnapStoriesTagsMapWorkflow .class ,
106
+ ChildWorkflowOptions .newBuilder ()
107
+ .setWorkflowId ("snap.stories_tags_map" )
108
+ .build ()
109
+ )::moveSnapStoriesTagsMap
110
+ );
111
+ Promise <Void > snapStoryLinksPromise = Async .procedure (
112
+ Workflow .newChildWorkflowStub (
113
+ SnapStoryLinksWorkflow .class ,
114
+ ChildWorkflowOptions .newBuilder ()
115
+ .setWorkflowId ("snap.story_links" )
116
+ .build ()
117
+ )::moveSnapStoryLinks
118
+ );
119
+ Promise <Void > snapStoryLinkCountsPromise = Async .procedure (
120
+ Workflow .newChildWorkflowStub (
121
+ SnapStoryLinkCountsWorkflow .class ,
122
+ ChildWorkflowOptions .newBuilder ()
123
+ .setWorkflowId ("snap.story_link_counts" )
124
+ .build ()
125
+ )::moveSnapStoryLinkCounts
126
+ );
127
+ Promise <Void > snapMediumLinkCountsPromise = Async .procedure (
128
+ Workflow .newChildWorkflowStub (
129
+ SnapMediumLinkCountsWorkflow .class ,
130
+ ChildWorkflowOptions .newBuilder ()
131
+ .setWorkflowId ("snap.medium_link_counts" )
132
+ .build ()
133
+ )::moveSnapMediumLinkCounts
134
+ );
135
+ Promise <Void > snapMediumLinksPromise = Async .procedure (
136
+ Workflow .newChildWorkflowStub (
137
+ SnapMediumLinksWorkflow .class ,
138
+ ChildWorkflowOptions .newBuilder ()
139
+ .setWorkflowId ("snap.medium_links" )
140
+ .build ()
141
+ )::moveSnapMediumLinks
142
+ );
143
+
144
+ Promise .allOf (
145
+ authUserRequestDailyCountsPromise ,
146
+ mediaStatsPromise ,
147
+ mediaCoverageGapsPromise ,
148
+ storiesPromise ,
149
+ downloadsPromise ,
150
+ topicStoriesPromise ,
151
+ topicLinksPromise ,
152
+ topicPostsPromise ,
153
+ snapStoriesPromise ,
154
+ snapMediaPromise ,
155
+ snapMediaTagsMapPromise ,
156
+ snapStoriesTagsMapPromise ,
157
+ snapStoryLinksPromise ,
158
+ snapStoryLinkCountsPromise ,
159
+ snapMediumLinkCountsPromise ,
160
+ snapMediumLinksPromise
161
+ ).get ();
20
162
}
21
163
}
0 commit comments