מצבי עבודה
קל לארגן דפים בעזרת אוספים
אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.
העבודה עוברת סדרה של שינויים במהלך משך החיים שלה.State
מצבי עבודה חד-פעמיים
כשמדובר בבקשת עבודה של one-time
, העבודה מתחילה במצב ENQUEUED
.
במצב ENQUEUED
, העבודה שלכם יכולה לפעול ברגע שמתקיימות הדרישות של Constraints
והתזמון של ההשהיה הראשונית. משם היא עוברת למצב RUNNING
, ואז, בהתאם לתוצאת העבודה, היא עשויה לעבור למצב SUCCEEDED
, FAILED
או אולי לחזור למצב ENQUEUED
אם התוצאה היא retry
. בכל שלב בתהליך אפשר לבטל את העבודה, ואז היא תעבור למצב CANCELLED
.
איור 1 מציג את מחזור החיים של עבודה חד-פעמית, עם האירועים שיכולים להעביר אותה למצב אחר.

איור 1. דיאגרמת מצבים לעבודה חד-פעמית.
SUCCEEDED
, FAILED
ו-CANCELLED
מייצגים מצב סופי של העבודה הזו. אם היצירה שלכם נמצאת באחד מהמצבים האלה,
WorkInfo.State.isFinished()
הפונקציה מחזירה את הערך true.
מצבי עבודה תקופתיים
מצבי ההצלחה והכישלון רלוונטיים רק לעבודות חד-פעמיות ולעבודות משורשרות.
בעבודה תקופתית, יש רק מצב סופי אחד, CANCELLED
. הסיבה לכך היא שעבודה תקופתית אף פעם לא מסתיימת. אחרי כל הרצה, התזמון שלה משתנה, בלי קשר לתוצאה. איור 2 מציג את דיאגרמת המצבים המצומצמת של עבודה תקופתית.

איור 2. תרשים מצבים לעבודה תקופתית.
מצב חסום
יש עוד מצב אחד שלא הזכרנו עדיין, והוא BLOCKED
. המצב הזה רלוונטי לעבודה שמנוהלת בסדרה או בשרשרת של עבודות. שרשראות עבודה ודיאגרמת המצב שלהן מוסברות במאמר Chaining work.
השלבים הבאים
בקטע ניהול העבודה מוסבר איך לנהל את העבודה ולעקוב אחרי ההתקדמות שלה.
דוגמאות התוכן והקוד שבדף הזה כפופות לרישיונות המפורטים בקטע רישיון לתוכן. Java ו-OpenJDK הם סימנים מסחריים או סימנים מסחריים רשומים של חברת Oracle ו/או של השותפים העצמאיים שלה.
עדכון אחרון: 2025-07-27 (שעון UTC).
[[["התוכן קל להבנה","easyToUnderstand","thumb-up"],["התוכן עזר לי לפתור בעיה","solvedMyProblem","thumb-up"],["סיבה אחרת","otherUp","thumb-up"]],[["חסרים לי מידע או פרטים","missingTheInformationINeed","thumb-down"],["התוכן מורכב מדי או עם יותר מדי שלבים","tooComplicatedTooManySteps","thumb-down"],["התוכן לא עדכני","outOfDate","thumb-down"],["בעיה בתרגום","translationIssue","thumb-down"],["בעיה בדוגמאות/בקוד","samplesCodeIssue","thumb-down"],["סיבה אחרת","otherDown","thumb-down"]],["עדכון אחרון: 2025-07-27 (שעון UTC)."],[],[],null,["# Work states\n\nWork goes through a series of [`State`](/reference/androidx/work/WorkInfo.State)\nchanges over its lifetime.\n\nOne-time work states\n--------------------\n\nFor a\n[`one-time`](/topic/libraries/architecture/workmanager/how-to/define-work#schedule_one-time_work)\nwork request, your work begins in an\n[`ENQUEUED`](/reference/androidx/work/WorkInfo.State#ENQUEUED) state.\n\nIn the `ENQUEUED` state, your work is eligible to run as soon as its\n[`Constraints`](/reference/androidx/work/Constraints) and initial delay timing\nrequirements are met. From there it moves to a\n[`RUNNING`](/reference/androidx/work/WorkInfo.State#RUNNING) state and then\ndepending on the outcome of the work it may move to\n[`SUCCEEDED`](/reference/androidx/work/WorkInfo.State#SUCCEEDED),\n[`FAILED`](/reference/androidx/work/WorkInfo.State#FAILED), or possibly back to\n`ENQUEUED` if the result is\n[`retry`](/reference/androidx/work/ListenableWorker.Result#retry()). At any\npoint in the process, work can be cancelled, at which point it will move to the\n[`CANCELLED`](/reference/androidx/work/WorkInfo.State#CANCELLED) state.\n\nFigure 1 illustrates the life of one-time work, with the events that may take it to another state.\n\n**Figure 1.** State diagram for one-time work.\n\n`SUCCEEDED`, `FAILED` and `CANCELLED` all represent a terminal state for this\nwork. If your work is in any of these states,\n[`WorkInfo.State.isFinished()`](/reference/androidx/work/WorkInfo.State#isFinished())\nreturns true.\n\nPeriodic work states\n--------------------\n\nSuccess and failed states apply only to one-time and\n[chained work](/topic/libraries/architecture/workmanager/how-to/chain-work).\nFor [periodic work](/topic/libraries/architecture/workmanager/how-to/define-work#schedule_periodic_work),\nthere is only one terminal state, `CANCELLED`. This is because periodic work\nnever ends. After each run, it's rescheduled, regardless of the result. Figure\n2 depicts the condensed state diagram for periodic work.\n\n**Figure 2.** State diagram for periodic work.\n\nBlocked state\n-------------\n\nThere is one final state we haven't mentioned yet, and that is `BLOCKED`. This\nstate applies to work that is orchestrated in a series, or chain of work. Work\nchains, and their state diagram, are covered in\n[Chaining work](/topic/libraries/architecture/workmanager/how-to/chain-work).\n\nNext Steps\n==========\n\nIn [Managing work](/topic/libraries/architecture/workmanager/how-to/managing-work),\nyou'll learn more about how to manage and monitor the progress of your work."]]