Skip to content

Commit 285c0dc

Browse files
authored
feat: Add CronJob capability to the Operator (feast apply & materialize-incremental) (feast-dev#5217)
feast cronJob Signed-off-by: Tommy Hughes <[email protected]>
1 parent adf3a1c commit 285c0dc

23 files changed

+3205
-572
lines changed

examples/operator-quickstart/01-Install.ipynb

Lines changed: 32 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@
7474
"output_type": "stream",
7575
"text": [
7676
"NAME STATUS AGE\n",
77-
"feast Active 6s\n"
77+
"feast Active 3s\n"
7878
]
7979
}
8080
],
@@ -141,20 +141,20 @@
141141
"output_type": "stream",
142142
"text": [
143143
"NAME READY STATUS RESTARTS AGE\n",
144-
"pod/postgres-ff8d4cf48-c4znd 1/1 Running 0 2m17s\n",
145-
"pod/redis-b4756b75d-r9nfb 1/1 Running 0 2m15s\n",
144+
"pod/postgres-ff8d4cf48-rvp86 1/1 Running 0 71s\n",
145+
"pod/redis-b4756b75d-m5l96 1/1 Running 0 70s\n",
146146
"\n",
147147
"NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE\n",
148-
"service/postgres ClusterIP 10.43.151.129 <none> 5432/TCP 2m17s\n",
149-
"service/redis ClusterIP 10.43.169.233 <none> 6379/TCP 2m15s\n",
148+
"service/postgres ClusterIP 10.43.193.169 <none> 5432/TCP 71s\n",
149+
"service/redis ClusterIP 10.43.64.8 <none> 6379/TCP 69s\n",
150150
"\n",
151151
"NAME READY UP-TO-DATE AVAILABLE AGE\n",
152-
"deployment.apps/postgres 1/1 1 1 2m18s\n",
153-
"deployment.apps/redis 1/1 1 1 2m16s\n",
152+
"deployment.apps/postgres 1/1 1 1 71s\n",
153+
"deployment.apps/redis 1/1 1 1 70s\n",
154154
"\n",
155155
"NAME DESIRED CURRENT READY AGE\n",
156-
"replicaset.apps/postgres-ff8d4cf48 1 1 1 2m18s\n",
157-
"replicaset.apps/redis-b4756b75d 1 1 1 2m16s\n"
156+
"replicaset.apps/postgres-ff8d4cf48 1 1 1 71s\n",
157+
"replicaset.apps/redis-b4756b75d 1 1 1 70s\n"
158158
]
159159
}
160160
],
@@ -217,7 +217,7 @@
217217
},
218218
{
219219
"cell_type": "code",
220-
"execution_count": 5,
220+
"execution_count": 1,
221221
"metadata": {},
222222
"outputs": [
223223
{
@@ -243,32 +243,35 @@
243243
},
244244
{
245245
"cell_type": "code",
246-
"execution_count": 6,
246+
"execution_count": 2,
247247
"metadata": {},
248248
"outputs": [
249249
{
250250
"name": "stdout",
251251
"output_type": "stream",
252252
"text": [
253-
"NAME READY STATUS RESTARTS AGE\n",
254-
"pod/feast-example-bbdc6cb6-rzkb4 0/1 Init:0/1 0 3s\n",
255-
"pod/postgres-ff8d4cf48-c4znd 1/1 Running 0 4m49s\n",
256-
"pod/redis-b4756b75d-r9nfb 1/1 Running 0 4m47s\n",
253+
"NAME READY STATUS RESTARTS AGE\n",
254+
"pod/feast-example-6c6b58474-n62rg 0/1 Init:0/1 0 4s\n",
255+
"pod/postgres-ff8d4cf48-rvp86 1/1 Running 0 3m23s\n",
256+
"pod/redis-b4756b75d-m5l96 1/1 Running 0 3m22s\n",
257257
"\n",
258258
"NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE\n",
259-
"service/feast-example-online ClusterIP 10.43.143.216 <none> 80/TCP 4s\n",
260-
"service/postgres ClusterIP 10.43.151.129 <none> 5432/TCP 4m49s\n",
261-
"service/redis ClusterIP 10.43.169.233 <none> 6379/TCP 4m47s\n",
259+
"service/feast-example-online ClusterIP 10.43.175.253 <none> 80/TCP 6s\n",
260+
"service/postgres ClusterIP 10.43.193.169 <none> 5432/TCP 3m23s\n",
261+
"service/redis ClusterIP 10.43.64.8 <none> 6379/TCP 3m21s\n",
262262
"\n",
263263
"NAME READY UP-TO-DATE AVAILABLE AGE\n",
264264
"deployment.apps/feast-example 0/1 1 0 5s\n",
265-
"deployment.apps/postgres 1/1 1 1 4m51s\n",
266-
"deployment.apps/redis 1/1 1 1 4m49s\n",
265+
"deployment.apps/postgres 1/1 1 1 3m23s\n",
266+
"deployment.apps/redis 1/1 1 1 3m22s\n",
267267
"\n",
268-
"NAME DESIRED CURRENT READY AGE\n",
269-
"replicaset.apps/feast-example-bbdc6cb6 1 1 0 4s\n",
270-
"replicaset.apps/postgres-ff8d4cf48 1 1 1 4m51s\n",
271-
"replicaset.apps/redis-b4756b75d 1 1 1 4m49s\n",
268+
"NAME DESIRED CURRENT READY AGE\n",
269+
"replicaset.apps/feast-example-6c6b58474 1 1 0 5s\n",
270+
"replicaset.apps/postgres-ff8d4cf48 1 1 1 3m23s\n",
271+
"replicaset.apps/redis-b4756b75d 1 1 1 3m22s\n",
272+
"\n",
273+
"NAME SCHEDULE TIMEZONE SUSPEND ACTIVE LAST SCHEDULE AGE\n",
274+
"cronjob.batch/feast-example @yearly <none> True 0 <none> 3s\n",
272275
"deployment.apps/feast-example condition met\n"
273276
]
274277
}
@@ -287,15 +290,15 @@
287290
},
288291
{
289292
"cell_type": "code",
290-
"execution_count": 2,
293+
"execution_count": 4,
291294
"metadata": {},
292295
"outputs": [
293296
{
294297
"name": "stdout",
295298
"output_type": "stream",
296299
"text": [
297300
"NAME STATUS AGE\n",
298-
"example Ready 48m\n"
301+
"example Ready 7m40s\n"
299302
]
300303
}
301304
],
@@ -312,7 +315,7 @@
312315
},
313316
{
314317
"cell_type": "code",
315-
"execution_count": 8,
318+
"execution_count": 1,
316319
"metadata": {},
317320
"outputs": [
318321
{
@@ -352,29 +355,20 @@
352355
},
353356
{
354357
"cell_type": "code",
355-
"execution_count": 9,
358+
"execution_count": 2,
356359
"metadata": {},
357360
"outputs": [
358361
{
359362
"name": "stdout",
360363
"output_type": "stream",
361364
"text": [
362-
"/opt/app-root/lib64/python3.11/site-packages/feast/feature_view.py:48: DeprecationWarning: Entity value_type will be mandatory in the next release. Please specify a value_type for entity '__dummy'.\n",
363-
" DUMMY_ENTITY = Entity(\n",
364-
"Feast SDK Version: \"0.46.0\"\n"
365+
"Feast SDK Version: \"0.1.dev1+gcc1fcad.d20250403\"\n"
365366
]
366367
}
367368
],
368369
"source": [
369370
"!kubectl exec deployment/feast-example -itc online -- feast version"
370371
]
371-
},
372-
{
373-
"cell_type": "code",
374-
"execution_count": null,
375-
"metadata": {},
376-
"outputs": [],
377-
"source": []
378372
}
379373
],
380374
"metadata": {

0 commit comments

Comments
 (0)