Mayor Bill de Blasio announced that he is suspending his campaign for president this morning. Appearing on MSNBC's Morning Joe, de Blasio explained, "I've contributed all I can to this primary election, and it's clearly not my time, so I'm going to end my presidential campaign, continue my work as mayor of New York City, and I'm going to keep speaking up for working people."

The announcement was not entirely unexpected. Although de Blasio positioned himself as a progressive who knew how to take on President Donald Trump, he failed to gain momentum, registering around one percent in national polls since launching his campaign in May. A recent statewide poll in New York found only respondent who said he intended to vote for de Blasio for president. After he failed to qualify for this month's Democratic primary debate, de Blasio said he would have to reconsider whether to continue his campaign if he did not qualify for the October debate. Although the deadline for that debate has not yet passed, his prospects were looking increasingly bleak.

"After several months of campaigning, I have reached the point where I feel I have contributed all I can to this Democratic primary," de Blasio wrote in an op-ed for NBC this morning. "Today, I’m ending my campaign for the presidency. This campaign has been a profound experience for me. I saw America in full — not as it appears on Twitter and cable news, where we’re constantly shown a country hamstrung by our differences and unable to tackle the problems we face. We have more in common than we realize — and more and more of us across the country are overcoming our divisions and standing up for working people."

De Blasio saw scant support for his presidential bid in early primary states like Iowa and New Hampshire, and received even less support among New Yorkers who elected him for a second term as mayor in 2017. He had raised just $1.1 million by the time of his first campaign finance filing, the NY Times reports, with much of the money coming from a single NYC union.

Some critics said de Blasio's presidential campaign was a quixotic distraction from his mayoral duties, and a Daily News analysis determined that during one month of his campaign, he spent just four hours per day, on average, performing official mayoral duties. Through it all de Blasio insisted he was able to manage the city with the help of his staff while campaigning, and was counting on a lucky moment to turn his flagging campaign around. But when his big viral moment finally happened, it just wasn't enough to move the needle:

This morning, de Blasio's would-be opponent in the general election offered his condolences on a hard-fought race:

The mayor will make his regular Friday appearance on WNYC's The Brian Lehrer Show at 10 a.m. this morning, and will then join the Climate Strike march in Lower Manhattan with First Lady Chirlane McCray.