You probably noticed as you used Mythic that there's a status associated with your task. This status goes through a variety of words/colors depending on where things are in the pipeline and what the agent has done with the task. This provides a way for the operator to know what's happening behind the scenes.
By default, a task goes through the following stages with the following statuses:
preprocessing - The task is being sent to the Payload Type container for processing (parsing arguments, confirming values, doing RPC functionality to register files, etc)
submitted - The task is now ready for an agent to pick it up
processing - The task has been picked up by an agent, but there hasn't been any response back yet
processed - The task has at least one response, but the agent hasn't marked it as done yet.
completed - The task is marked as completed by the agent and there wasn't an error in execution
error - The agent report back a status of "error"
The agent can set the status of the task to anything it wants as part of its normal
post_response information. Similarly, in a task's
create_tasking function, you're free to set the
task.status value to one of the following:
If you set the status to anything other than
MythicStatus.Success (which is the default), then the task won't be in the
submitted state and thus won't be picked up by your agent.